2009-07-23 4 views

ответ

10

Сделайте свой классом внутреннего и работать с различными сборками или сделать его приватный вложенный класса основного класса.

public class A 
{ 
    private class B { ... } 
    ... 
} 
4

Если только будет использоваться внутри - в этом «основной класс» - то это, казалось бы, наиболее гнездиться наши правила его.

Другими словами, ваша структура будет выглядеть следующим образом:

public class MainClass 
{ 
    // ... 

    private class NestedUtilityClass 
    { 
     // ... 
    } 
} 

Таким образом, он доступен только из в MainClass. Вы можете изменить измененный вложенный класс на protected, если вам нужно, чтобы он был доступен в производных классах, конечно.

3

В дополнение к ансамблям Guillaume и Noldorin - если вы хотите иметь основной класс и класс утилиты в разных файлах - используйте частичный. Отметьте свой основной класс как частичный и разделите его на 2 файла - один содержит основную реализацию класса, другой - класс полезности.

0

Если вы используете только этот класс в одном классе, вы можете сделать это частный вложенный классом:

public class MyPublicClass 
{ 
    private class PrivateClass 
    { 
    } 
} 
0

В основном в пространстве имен ваших типов могут иметь либо общественные или внутренние подъездные пути. С другой стороны, вложенные типы внутри классов могут иметь частную доступность. До тех пор, пока ваш тип утилиты имеет смысл только для вашего основного класса, рассмотрите вопрос о включении класса утилиты в основной класс с частной доступностью.

Вот выдержка из C# Спецификации:

невложенных типов могут иметь общественную или внутреннюю объявленную доступность и имеет внутреннюю объявленную доступность по умолчанию. Вложенные типы могут иметь эти формы объявленной доступности тоже, плюс один или несколько дополнительных форм объявленной доступности, в зависимости от содержащего типа, является ли класс или структура:

  • Вложенного типа, который объявлен в классе может быть любая из пяти форм объявленной доступности (public, protected internal, protected, внутренний или закрытый) и, как и другие члены класса , по умолчанию является приватным объявленной доступности.
  • Вложенный типа, который объявлен в структурах могут иметь любой из трех форм объявленной доступности (общественной, внутренних или частное) и, как и других члены структуры, по умолчанию частной объявленной доступности.
Смежные вопросы