C# Type.IsPublic和Type.IsVisible之间有什么区别
在C#中,C# Type.IsPublic和Type.IsVisible之间有什么区别,c#,reflection,clr,C#,Reflection,Clr,在C#中,类型类实例有很多属性。其中两个是IsPublic和IsVisible: -获取一个值,该值指示该类型是否声明为公共类型 -获取一个值,该值指示类型是否可由程序集外部的代码访问 据我所知,所有公共成员都可以在大会之外访问,而所有其他成员都不能。我能想到的两个例外是[InternalsVisibleTo:程序集属性和成员的受保护的修饰符 但是无论如何这两个属性之间的区别是什么?您发布的链接解释了这一点: 返回 如果类型声明为公共且不是嵌套类型,则为true; 否则,错误 返回 如果当前
类型
类实例有很多属性。其中两个是IsPublic
和IsVisible
:
- -获取一个值,该值指示该类型是否声明为公共类型
- -获取一个值,该值指示类型是否可由程序集外部的代码访问
[InternalsVisibleTo:
程序集属性和成员的受保护的
修饰符
但是无论如何这两个属性之间的区别是什么?您发布的链接解释了这一点: 返回 如果类型声明为公共且不是嵌套类型,则为true; 否则,错误 返回 如果当前类型是公共类型或公共嵌套类型(如 所有封闭类型都是公共的;否则,错误
你读过msdn的评论吗?不要与嵌套类型一起使用;对于
IsPublic
,使用IsNestedPublic是不言自明的。因此,主要区别似乎在于嵌套类型。