如何为属性定义别名

Jad*_*ias 7 .net c# .net-3.5 linq-to-sql c#-4.0

我想为生成的代码中的属性生成别名.到目前为止我能做的就是:

partial class Purchase
{
    public User Customer
    {
        get
        {
            return this.User;
        }

        set
        {
            this.User = value;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否还有其他方法可以在C#中定义别名.在Purchase由LINQ到SQL生成的类

fre*_*per 7

如果您希望使用 newtonSoft 使用不同名称的属性将信息发送到 JSON,您可以使用

 [JsonProperty("alias_name")]
 public type YourProperty {get;set;}
Run Code Online (Sandbox Code Playgroud)

如果您不希望对象遵循 C# 约定并与要接收或发送的 JSON 对象匹配,这可以帮助您


Tig*_*ran 1

不,这在 C# 中是不可能的。属性名称是您可以为其定义的单个标识符。

不知道这是不是你要找的:

但您可以定义(例如)a,Dictionary<string,object>其中Key属性名称value是属性的值。通过这种方式,您可以定义动态属性 cash,并在运行时更改属性名称和值。

或者可以使用ExpandoObject,如果您使用C# 4.0

  • 在发布的代码中,Customer _is_ User 的别名。OP 要求其他方法来做到这一点。 (7认同)