首页 > 解决方案 > 在 C# 中属性的集合访问器中重命名“值”变量

问题描述

在 VB.NET 中,您可以更改此变量的名称。您也可以在 C# 中执行此操作还是总是调用它value

例子:

    Private _SomeVariable As String
    Public Property SomeValue() As String
        Get
            Return _SomeVariable
        End Get
        Set(ByVal foo As String) ' This is what I mean
            _SomeVariable = foo
        End Set
    End Property

我习惯用 VB.NET 编写代码,但最终想改用 C# 并尝试了解 C# 的所有差异和特性。

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

标签: c#.netvb.net

解决方案


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

class MyClass
{
    private string value;

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

推荐阅读