C# C语言中的Getter和Setter别名#
如何从复数形式中提取变量的别名,以便引用复数形式时更改或返回单一形式 我有一个带有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
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;
}
}