【发布时间】:2013-07-04 15:30:11
【问题描述】:
我有一个关于类可访问性的直截了当的问题。是否可以在调试模式下将类声明为公共,而在发布模式下将其声明为私有?
原因是我希望能够在 Matlab 中使用该类,但由于它已部署给客户,我不希望他们能够访问该类。
【问题讨论】:
标签: c# c-preprocessor
我有一个关于类可访问性的直截了当的问题。是否可以在调试模式下将类声明为公共,而在发布模式下将其声明为私有?
原因是我希望能够在 Matlab 中使用该类,但由于它已部署给客户,我不希望他们能够访问该类。
【问题讨论】:
标签: c# c-preprocessor
这应该可行:
#if (DEBUG)
public
#endif
class YourClass {
#if (DEBUG)
public
#else
private
#endif
class NestedClass {
}
}
【讨论】:
您可以将类声明为internal 并将InternalsVisibleToAttribute 应用于它:
[assembly:InternalsVisibleTo("MyTestAssembly")]
请参阅:InternalsVisibleToAttribute Class(在 MSDN 上)
【讨论】: