-1

我无法检索结果ReturnName

//
private string testName;
public string ReturnName
{
    private set { testName = "MyName"; }
    get { return testName; }
}

//
string i = data.ReturnName;
4

3 回答 3

8

你应该这样做:

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;
于 2013-04-17T01:01:27.223 回答
3

您的代码永远不会设置ReturnName.

于 2013-04-17T01:02:02.897 回答
3

如果您从其他类调用,ReturnName则始终为空,因为您无法从中设置值。它返回的唯一时间MyName是当您在同一类的属性上设置任何值但返回的值是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
}
于 2013-04-17T01:02:47.123 回答