質問
私は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);
}
}
所属していません StackOverflow