![](/img/trans.png)
[英]Can you auto-generate code for assigning properties of an object in C#? (Visual Studio)
[英]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
}
使用Default
和Other
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.