C# 更名为;“价值”;C中属性的集合访问器中的变量#

C# 更名为;“价值”;C中属性的集合访问器中的变量#,c#,.net,vb.net,C#,.net,Vb.net,在VB.NET中,可以更改此变量的名称。你能用C语言也这么做吗?还是它总是被称为value 例如: Private\u一些变量作为字符串 公共属性SomeValue()作为字符串 得到 返回某个变量 结束 设置(ByVal foo为String)'这就是我的意思 _SomeVariable=foo 端集 端属性 我习惯于在VB.NET中编写代码,但最终想改为C语言,并尝试学习C语言的所有差异和特点 我知道这没什么大不了的,但例如,在将VB.NET转换为C#时,我没有意识到这一点,如果您也有一个

在VB.NET中,可以更改此变量的名称。你能用C语言也这么做吗?还是它总是被称为
value

例如:

Private\u一些变量作为字符串
公共属性SomeValue()作为字符串
得到
返回某个变量
结束
设置(ByVal foo为String)'这就是我的意思
_SomeVariable=foo
端集
端属性
我习惯于在VB.NET中编写代码,但最终想改为C语言,并尝试学习C语言的所有差异和特点

我知道这没什么大不了的,但例如,在将VB.NET转换为C#时,我没有意识到这一点,如果您也有一个名为
foo
的类变量(对于上面提到的示例),那么这可能会导致错误行为。

在C#中,新值总是通过。没有语法来编写接受自定义名称的setter

集合访问器类似于返回类型为void的方法。它使用名为value的隐式参数,其类型为属性的类型


是关键字,因此无法更改

设置的参数始终命名为
,您无法更改它。如果您的代码中碰巧有一个冲突的名称,您可以使用完全限定的名称来使用它:

class MyClass
{
    private string value;

    public string Value
    {
        get { return value; }
        set { this.value = value; }  // this.value is the private field
    }
}

Telerik可能没有考虑更改参数名称,因为他们不希望有人会疯狂到这样做。如果您还没有这样做,您应该阅读Anthony Green的“VB.NET和C#之间令人精疲力尽的差异列表”,如下所示: