0

たとえば、すべてのデフォルト メソッドを含む静的クラスがあります。プロパティを生成し、同時にデフォルトの静的メソッドを生成したい場合---

static class Default
{
    //Auto-Generated
    static int DEFAULT_foo1()
    {
        //Do something
    }
    static float DEFAULT_var2
    {
        //Do something
    }

}

class Other
{
    //Code-Snippet
    int var1
    {
        get
        {
            return Default.DEFAULT_var1();
        }
    }
    float var2
    {
        get
        {
            return Default.DEFAULT_var2();
        }
    }
}
4

2 に答える 2

2

標準の継承は良い解決策だと思います。

class OtherBase
{
    //Code-Snippet
    int var1
    {
        get
        {
            return Default.DEFAULT_var1();
        }
    }
    float var2
    {
        get
        {
            return Default.DEFAULT_var2();
        }
    }
}

派生クラス:

class Other : OtherBase
{
}
于 2012-06-18T16:27:37.393 に答える
0

クラスDefaultを静的ではなくシングルトンに変更します。これで、コード スニペットを使用して、メソッドとプロパティを同じクラスに実装できます。他のクラスは、プロパティから自動的に派生Defaultおよび継承できます。

class Default 
{
    public static readonly Default Instance = new Default();

    protected Default ()
    {
    }

    public static int DoFoo1() 
    { 
        //Do something 
    }

    public int Foo1 { get { return DoFoo1(); } }

    public static float DoVar2 
    { 
        //Do something 
    } 

    public float Var2 { get { return DoVar2(); } }
} 

class Other : Default
{
    // Inherits Foo1 and Var2 automatically
}

Defaultとの使用Other

int x = Default.DoFoo1();
int y = Default.Instance.Foo1;
Other other = new Other();
int z = other.Foo1;
于 2012-06-18T16:50:50.100 に答える