Bir türün, harelenmiş dizeleri kullanmadan bir ad alanının parçası olup olmadığını kontrol etmek mümkün mü? Ben böyle bir şey yapmak çalışıyorumBir türün kodlanmış dizeler olmadan bir ad alanına ait olup olmadığını kontrol edin
:
Type type = typeof(System.Data.Constraint);
if(type.Namespace == "System.Data")
{...}
Bu örnekler derlemek yok önlemek için
Type type = typeof(System.Data.Constraint);
if(type.Namespace == System.Data.ToString())
{...}
veya
Type type = typeof(System.Data.Constraint);
if(type.Namespace == System.Data)
{...}
ama bir fikir vermek gerektiğini Başarmaya çalışıyorum.
nameof(System.Data)
kullanamazsınız, çünkü yalnızca "Data"
döndürür.
Bir ad alanı parçası, bir dize içinde bu ad alanına sahip olmak gerekmeden bir sınıf olup olmadığını kontrol etmek için bir yol bulmak istiyorum.
Akla gelen tek şey şudur d String.Join (".", (System), (System.Data)). Çirkin ama yine de ne yapmak istiyorsun :) – Evk
Bir kod dizgisi ve (sonunda) bir isim alanını kodlamak arasındaki fark nedir? –
Niçin ilgilenirim ki, yansımada bir 'NamespaceInfo' sınıfı gibi bir şey yok. Tam olarak anlamıyorum, neden burada ihtiyacın var? Neden dize yok? 'Type.Namespace' ile karşılaştırmak istediğiniz bilgiyi nereden alıyorsunuz? Derleme zamanında biliniyorsa, neden dize yok? –