Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';是C#中VB只读属性的等价物吗?_C#_Vb.net - Fatal编程技术网

什么';是C#中VB只读属性的等价物吗?

什么';是C#中VB只读属性的等价物吗?,c#,vb.net,C#,Vb.net,如果我的VB声明类似于XmlDocument的公共只读属性Document(),那么它的C#等价物是什么?谢谢 public XmlDocument Document { get; private set; } public XmlDocument Document { get; private set; } 根据评论编辑。。。谢谢,伙计们,我甚至没有试着去看它是否可以编译 public XmlDocument Document { get; private set; } // For

如果我的VB声明类似于XmlDocument的公共只读属性Document(),那么它的C#等价物是什么?谢谢

public XmlDocument Document { get; private set; }
public XmlDocument Document { get; private set; }
根据评论编辑。。。谢谢,伙计们,我甚至没有试着去看它是否可以编译

public XmlDocument Document { get; private set; }   // For .NET 3.5
对于以前的版本

private XmlDocument _document;
public readonly XmlDocument Document
{
    get
    {
        return _document;
    }
    // You don't need a setter
}

您可以在C#3.0+中使用自动属性来实现相同的功能:


VB.Net要求您以只读方式编写,但C#只需排除属性的setter部分。

这是一个很好的工具,可以自动将VB.Net代码转换为C#,反之亦然。

嘿。。。比我快一秒钟DWon't compile:readonly只能用于字段,不能用于属性。如上面的回答所示,
修饰符“readonly”对此项无效。我看到这个垒球投进来太晚了,无法发布到这个网站的链接+1但这略有不同:这允许通过属性修改文档,而VB版本不允许。(OP没有显示VB属性的实现,但例如,这可能是一个计算属性,或者返回到只读字段。)itowlson:是的,当然。没有直接的简单翻译。在这种情况下,必须手动实现该属性。
public XmlDocument Document
{
    get {return someXmlDoc;}
}