正如標題所說,您如何使用反射來檢查類定義是否被定義爲內部? 「typeof(...)」返回下面顯示的某些屬性,但不返回一個類是否被定義爲內部。看着谷歌,但我能找到的大量文章都是關於使用反射來運行內部或受保護的方法。這不是我對這種情況感興趣的方法,而是類定義。如何使用反射來確定一個類是否是內部的?
var type = typeof(Customer);
Assert.IsTrue(type.IsClass);
Assert.That(type.IsAbstract, Is.EqualTo(isAbstract));
Assert.That(type.IsPublic, Is.EqualTo(isPublic));
Assert.That(type.IsPublic, Is.EqualTo(isPublic));
Assert.That(type.IsSealed, Is.EqualTo(isSealed));
Assert.That(type.IsSerializable, Is.EqualTo(isSerializable));
我不知道MSDN文檔是準確的,但也許我錯了。例如,我知道`Tuple <>`實現了`internal interface ITuple`。這個接口上的`Type`對於上述標誌具有`false'。在我自己的內部類上的測試表現相同。 – 2011-02-11 16:16:14
此外,對我的`嵌套'讀作`class A {class B {}}`,其中`B`嵌套在`A`內。文檔特別提到的屬性`IsAssembly`,`IsFamily`不在`Type`對象上公開。 – 2011-02-11 16:21:43