[英]c# static class field and parameter with same name
由於this.name
無法訪問具有相同名稱的字段,如靜態類中的方法參數,我正在尋找一種方法。
作為一個例子,我想這樣做:
static class test
{
private static string aString;
public static void method(string aString)
{
// aString (field) = aString (parameter)
}
}
采用:
test.Astring = x;
即用類名替換它 ,在這種情況下測試 。
static class test
{
private static string Astring="static";
public static void method(string Astring)
{
string passedString = Astring; // will be the passed value
string staticField = test.Astring; // will be static
}
}
如果我們調用像test.method("Parameter");
這樣的方法test.method("Parameter");
staticField
的值為static
而passedString
的值為Parameter
。
關鍵字
this
表示類的當前實例; 無法通過實例訪問靜態字段,您應該使用類名來訪問靜態字段。
注意: - 但請在命名變量時注意 。 避免在同一個班級中給出同名。 如果您像下面這樣定義類,那將是最好的
static class test
{
private static string StaticAstring="static";
public static void method(string passedAstring)
{
string staticField = StaticAstring; // will be static
string passedString = passedAstring; // will be the passed value
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.