2013-07-04 3 views
0

У меня есть прямой вопрос о доступности класса. Можно ли объявить класс общедоступным в режиме отладки, но приватным в режиме выпуска?Доступность класса препроцессора C#

Причина в том, что я хотел бы иметь возможность использовать класс с Matlab, но по мере его развертывания для клиентов я не имею доступа к этому классу.

ответ

0

Это должно работать:

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

а это должно, потому что по умолчанию класс является приватным, но что, если я хочу, чтобы он был внутренним? – GuillaumeA

+0

Класс по умолчанию является внутренним. В пространстве имен нет частного класса. – tia

+0

ОК, но как насчет занятий внутри другого класса? – GuillaumeA

0

Вы можете объявить класс как internal и применить InternalsVisibleToAttribute к нему:

[assembly:InternalsVisibleTo("MyTestAssembly")] 

см: InternalsVisibleToAttribute Class (на MSDN)