簡體   English   中英

Code-snippet Visual C#同時在其他地方自動生成方法?

[英]Code-snippet Visual C# simultaneously auto-generate methods elsewhere?

例如,我有一個包含所有默認方法的靜態類。 如果我想生成屬性並同時生成默認靜態方法怎么辦?

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();
        }
    }
}

我認為標准繼承是一個很好的解決方案。

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

派生類:

class Other : OtherBase
{
}

將類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
}

使用DefaultOther

int x = Default.DoFoo1();
int y = Default.Instance.Foo1;
Other other = new Other();
int z = other.Foo1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM