MVVM字段的其他属性

问题描述:

也许你可以在下列问题上提供帮助。MVVM字段的其他属性

我有一个模式这样的:

public class Lookup 
{ 
    private string _ValueName; 
    [Required] 
    public string ValueName 
    { 
     get 
     { 
      return _ValueName; 
     } 
     set 
     { 
      _ValueName = value; 
     } 
    } 
} 

在视图模型一个可以访问Lookup.ValueName获得该项目的价值。但我怎么能得到DataColumn的名称?我想实现一个新的界面,这将给我的名字,但也许是更容易?我不想写硬编码的名字。

目标就是写:Lookup.ValueName.DataColumnName

感谢您的帮助 汤姆

+2

什么是数据列的名字吗?另外,不,如果您期望'Lookup.ValueName'是一个字符串,则不能执行'Lookup.ValueName.DataColumnName'。 – poke

+0

在这个例子中,DataColumnName应该是“ValueName”。 ValueName的值不重要 –

考虑此选项:

public class Lookup 
{ 
    [Required] 
    public string ValueName { get; set; } 

    public string ValueNameDataColumnName => nameof(ValueName); 
} 
+0

这看起来很完美。是否有一个选项可以让所有领域的这个选项不写入每个领域? –

+0

我不这么认为,不。 _您可以使用https://github.com/Fody/Fody来实现它,但这并不容易。_ – mjwills

+1

如果列名始终只是属性的名称,那么您可以使用'nameof( Lookup.ValueName)'只要你真的需要它,而不必拥有一个单独的属性。 – poke