7 EKİM 2008, Salı
C bir dize olarak bir sınıf adını al#
Orada bir sınıf adı Al ve C bir dize dönüştürmek için bir yoldur#?
Varlığın bir parçası olarak Çerçeve .Yöntem dizeleri nokta ile ayrılmış bir liste sorgu yaparken katılmak için alır vardır. Katılmak istiyorum ne sınıf modeli var, ve yeniden düzenleme ve gelecekteki kodu bakım nedeniyle, bu sınıf başvururken-derleme güvenlik için güçlü olmak istiyorum.
Böylece, bu yapabileceğim bir yoludur:
class Foo
{
}
tblBar.Include ( Foo.GetType().ToString() );
GetType yapabileceğimi sanmıyorum() örneği olmadan. Herhangi bir fikir?
CEVAP
7 EKİM 2008, Salı
GetType
bir yöntem olduğundan, bir örneği olmadan .GetType()
kullanamazsınız.
Gerçi böyle: tür adı alabilirsiniz
typeof(Foo).Name
Ve Chris tarafından belirttiği gibi, Eğer derleme nitelikli adı gerekiyorsa kullanabilirsiniz
typeof(Foo).AssemblyQualifiedName
Bunu Paylaş:
Nasıl bir dize olarak adını aldığımda ...
Bir nesnenin tam olarak nitelenmiş sın...
Python ile bir sınıf adını almak...
Neden Java statik olarak bir sınıf bil...
JSON dize olarak seri numaralama...