C#预处理器类的可访问性

本文关键字:访问 预处理 处理器 | 更新日期: 2023-09-27 18:20:57

我有一个关于类可访问性的直接问题。是否可以在调试模式中将类声明为public,但在发布模式中将其声明为private?

原因是我希望能够将该类与Matlab一起使用,但由于它已部署给客户,我无法让他们访问该类。

C#预处理器类的可访问性

这应该有效:

#if (DEBUG) 
    public 
#endif
    class YourClass {
#if (DEBUG)
        public
#else
        private
#endif
        class NestedClass {
        }
    }

您可以将类声明为internal并将InternalsVisibleToAttribute应用于它:

[assembly:InternalsVisibleTo("MyTestAssembly")]

请参阅:InternalsVisibleToAttribute类(在MSDN上)