C# Private set,get返回null/empty?
我无法检索返回名称的结果C# Private set,get返回null/empty?,c#,C#,我无法检索返回名称的结果 // private string testName; public string ReturnName { private set { testName = "MyName"; } get { return testName; } } // string i = data.ReturnName; 你应该这样做: public string ReturnName { get { return "MyName"; } } // string
//
private string testName;
public string ReturnName
{
private set { testName = "MyName"; }
get { return testName; }
}
//
string i = data.ReturnName;
你应该这样做:
public string ReturnName
{
get { return "MyName"; }
}
//
string i = data.ReturnName;
如果只是返回硬编码值,则不需要设置。更重要的是,出现错误的原因是您可能从未调用set。如果需要默认值,则应执行以下操作:
private string testName = "MyName";
public string ReturnName
{
private set { testName = value; }
get { return testName; }
}
//
string i = data.ReturnName;
您的代码从不设置
ReturnName
如果您是从另一个类调用,ReturnName
始终为空,因为您无法从它设置值。它将返回的唯一时间是在同一类的属性上设置任何值时,但返回的值是MyName
考虑下面的例子
public Class SampleClass
(
private string testName;
public string ReturnName
{
private set { testName = "MyName"; }
get { return testName; }
}
public void MethodName()
{
ReturnName = "hello";
Console.WriteLine(ReturnName);
}
)
public class Main
{
SampleClass _x = new SampleClass();
Console.WriteLine(_x.ReturnName); // will output EMPTY
_x.MethodName(); // will output MyName
}