How to define an alias for a property

15,225

Solution 1

No, it's not possible to do in C#. Property name is single identifier you can define for it.

Don't know if this is what you're searching for or not:

but you can define (say) a Dictionary<string,object> where Key is a propertyname and value is a value of the property. In this way you can define dynamic property cash, with changing property names and values at runtime.

or can use an ExpandoObject , if you use C# 4.0

Solution 2

In the case that you want a different name of property to send information to JSON using newtonSoft, you can use

 [JsonProperty("alias_name")]
 public type YourProperty {get;set;}

This can help you if you don't want that your object follow the C# convention and match with the JSON object to be received or sent

Share:
15,225
Jader Dias
Author by

Jader Dias

Perl, Javascript, C#, Go, Matlab and Python Developer

Updated on July 03, 2022

Comments

  • Jader Dias
    Jader Dias almost 2 years

    I want to generate aliases for properties in generated code. All I could do so far was:

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

    I wonder if there is any other way to define an alias in C#. The Purchase class was generated by Linq-to-SQL