2012-05-23 13 views
5

Chcę wygenerować aliasy dla właściwości w wygenerowanym kodzie. Wszystko, co mogłem zrobić, to:Jak zdefiniować alias dla właściwości

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

     set 
     { 
      this.User = value; 
     } 
    } 
} 

Zastanawiam się, czy istnieje jakikolwiek inny sposób zdefiniowania aliasu w C#. Klasa Purchase została wygenerowana przez Linq-SQL SQL

+0

Czy Linq2Sql nie pozwoli zmienić mapowanych nazw? –

+0

@HenkHolterman Jeśli to zrobię, będę musiał powtórzyć proces za każdym razem, gdy ponownie wygeneruję plik DBML. –

+0

OK, jeśli to jest problem. Ale twój opublikowany kod tworzy alias. Jakie jest więc pytanie? Czy coś jest z tym nie tak? –

Odpowiedz

2

Nie, nie można tego zrobić w języku C#. Nazwa właściwości to pojedynczy identyfikator, który można dla niej zdefiniować.

nie wiem, czy to jest to, czego szukasz, czy nie:

ale można zdefiniować (powiedzmy) A Dictionary<string,object> gdzie Key jest propertyname i value jest wartość nieruchomości. W ten sposób można zdefiniować gotówkę właściwości dynamicznych, zmieniając nazwy właściwości i wartości w środowisku wykonawczym.

lub można użyć ExpandoObject, jeśli używasz C# 4.0

+5

W zamieszczonym kodzie Klient _jest_ aliasem dla Użytkownika. PO prosi o inne sposoby, aby to zrobić. –

1

W przypadku, gdy chcesz inną nazwę własności do wysyłania informacji do JSON przy użyciu newtonSoft, można użyć

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

To może pomóc jeśli nie chcesz, aby Twój obiekt był zgodny z konwencją C# i był zgodny z obiektem JSON, który ma zostać odebrany lub wysłany?

Powiązane problemy