質問

私はC#のプログラムのためのファサードデザインパターンを使用しています。基本的にプログラム このようになります...

 public class Api
    {
        #region Constants

        private const int version = 1;

        #endregion


        #region Private Data

        private XProfile _profile;
        private XMembership _membership;
        private XRoles _role;

        #endregion Private Data


        public Api()
        {
            _membership =  new XMembership(); 
            _profile = new XProfile();
            _role = new XRoles();

        }

       public int GetUserId(string name)
       {
            return _membership.GetIdByName(name);
       }


}

さて、私は三つのカテゴリーに私のメソッドをサブクラスたいよう:役割、プロファイル、およびメンバー。 プロフィールとメンバーの両方が(役割によって、いくつかの)似た方法の多くを公開するので、これは開発者の目に容易になります。たとえば、ユーザーのIDを取得すると、次のようになります:

int _id = Namespace.Api.Member.GetUserId("Henry222");

缶誰か「説明」どのように私は探しています効果を達成するために、この場合には動作するはずサブクラス?

事前に感謝します。

役に立ちましたか?

解決

私はあなたの質問の文脈から「内部クラス」を意味するかもしれないことを主張するだろう。あなたは、次のようなものを試してみてください...

public class Api
{
    public class MemberApi
    {
      private readonly Api _parent;

      internal MemberApi(Api parent) { _parent = parent; }

      public int GetUserId(string name)
      {
         return _parent._membership.GetIdByName(name);
      }
    }

    #region Constants

    private const int version = 1;

    #endregion


    #region Private Data

    private XProfile _profile;
    private XMembership _membership;
    private XRoles _role;

    public MemberApi { get; private set; }

    #endregion Private Data

    public Api()
    {
        _membership =  new XMembership(); 
        _profile = new XProfile();
        _role = new XRoles();

        Member = new MemberApi(this);
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top