Bir parametrenin hem bir çıkış parametresi olduğunu hem de bir arabirimi (ICollection) genişleteceğini doğrulamaya çalışıyorum. Yansıma api, parametrenin "gerçek" türünü vermek istemiyor gibi görünmektedir, yalnızca bir "&" ile bir IsAssignableFrom deyiminde doğru olarak değerlendirilmeyecek olanı. Çalıştığım bazı C# kodları yazdım ama bunu yapmak için daha iyi bir yol olmalı..NET Yansıma - Dışarıdan "gerçek" tür nasıl alınır ParameterInfo
bool isCachedArg(ParameterInfo pInfo)
{
if (!pInfo.IsOut)
return false;
string typeName = pInfo.ParameterType.FullName;
string nameNoAmpersand = typeName.Substring(0, typeName.Length - 1);
Type realType = Type.GetType(nameNoAmpersand);
if (!typeof(ICollection).IsAssignableFrom(realType))
return false;
return true;
}
Yazım, dizeyi dize adından yeniden yüklemeden realType almanın bir yolu var mı? Hala .NET 2.1'deyim.
sayesinde Randy
+1 "Çıkış parametresi" ref 'ile "dir. –
Kesinlikle haklısın, cevabım ref cevap olarak cevap :-) +1. – driis
Harika çalışıyor. Teşekkür ederim! – randy909