Accessibility Levels Требуется помощь
От: yonis Россия  
Дата: 23.09.05 10:06
Оценка:
Существует некий код

namespace App.BL.Model
{
   public class A
   {
      public static A Instance = new A();

      public void Operation1();
      public Context GetContext()
      {
         Context context = new Context();
         ContextItem item = new ContextItem();
         context.Add(item);
         return context;
      }
   
      public class Context
      {
         <modifier> void Add(ContextItem item);
         <modifier> ContextItem this[int index];
      }
      
      private class ContextItem {}
   }
}

namespace App.BL.Commands
{
   public SomeCommand : Command
   {
      private Context context;

      public override void Execute()
      {
          A.Instance.Operation1();
      }
      
      public override void SaveOldState()
      {
         context = A.Instance.GetContext();
      }
   }
}


Проблема состоит в том чтобы операции класса Context были доступны только в классе А, при том что класс ContextItem должен быть виден только в классе A. Восможно ли такое в C#? И если возможно, то, что надо написать вместо <modifier>.
Вариант internal void Add и internal class ContextItem не подходит, так как в SomeCommand можно обратиться к методу Add, и классу ContextItem.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.