set方法可以使用不同类型的值吗?

时间:2016-02-25 00:11:23

标签: c# properties

我有一个包含XDocument变量的类。我希望能够通过字符串(XML Document的名称)在我的程序中的另一个类中设置此XDocument变量。有可能是"值" set方法中的变量不是字段的类型?这就是我想要做的事情:

的Class1:

private XDocument _xDoc;
public XDocument XDoc
{

    get
    {
        return _xDoc;
    }
    set
    {
        if(_xDoc == null)
            _xDoc = GetXDocument(value);  //GetXDocument is a function that takes a string 
                                         //and returns the corresponding XDocument
    }

等级2:

Class1 myClass;
myClass.XDoc = "Name of XML File"

这是可能的吗?

2 个答案:

答案 0 :(得分:3)

value的类型将始终是您的媒体资源类型。

您可以改用方法:

public void SetXDocument(string name)
{
     if(_xDoc == null)
        _xDoc = GetXDocument(value);
}

// usage
myClass.SetXDocument("Name of XML File");

答案 1 :(得分:0)

你可能在第2课中想要这样的东西:

Class1 myClass;
myClass.XDoc = myClass.GetXDocument("Name of XML File");