C# C语言中的Getter和Setter别名#

C# C语言中的Getter和Setter别名#,c#,variables,instantiation,getter-setter,C#,Variables,Instantiation,Getter Setter,如何从复数形式中提取变量的别名,以便引用复数形式时更改或返回单一形式 我有一个带有Getter和Setter的全局变量: public string UserName { get; set; } 并且希望设置一个别名变量UserNames,该变量将返回UserName,设置时将修改UserName 我试过publicstringusernames{get=>UserName;set=>UserName=UserNames},但这似乎不起作用。几乎,您必须在setter中使用value publ

如何从复数形式中提取变量的别名,以便引用复数形式时更改或返回单一形式

我有一个带有Getter和Setter的全局变量:

public string UserName { get; set; }
并且希望设置一个别名变量
UserNames
,该变量将返回
UserName
,设置时将修改
UserName


我试过
publicstringusernames{get=>UserName;set=>UserName=UserNames}
,但这似乎不起作用。

几乎,您必须在setter中使用
value

public string UserNames { get => UserName; set => UserName = value; } 

你可以这样写:

private string UserName;
public string UserNames
{
  get
  {
    return UserName;
  }  
  set
  {
    UserName=value;
  }
 }  

您的setter必须是
UserName=value
这不是“别名”;已经有一个了。这只是转发
a.get
返回
b
。此处不涉及数组,只是尝试获取变量名称UserName以反映名称为UserName的变量。您正在将数组转换为单个字符串。因此,您需要使用类似CSV(用逗号分隔)的内容。所以试试这个:publicstring[]UserNames{get{returnusername.Split(newchar[]{','});}set{UserName=string.Join(“,”,value);}}}注意,这个语法要求使用C#7available@BradleyDotNET-正确;OP中的尝试是使用c#7语法发布的,因此我认为c#7语法的答案是正确的。所以我尝试了这个,但最初我得到了一个构建错误?“错误”选项卡中没有代码高亮显示来指示错误的来源或任何内容。然后我将用户名注释掉并构建了它(但没有我正在寻找的“别名”功能)@Delrog-您必须将项目属性设置为使用c#7构建。有关在项目属性中的何处设置,请参见前面的答案
public string UserNames { get => UserName; set => UserName = value; }
private string UserName;
public string UserNames
{
  get
  {
    return UserName;
  }  
  set
  {
    UserName=value;
  }
 }