2016-05-03 4 views
0
public String name 
{ 
    get; 
    set; 
} 

public String email 
{ 
    get; 
    set; 
} 

public String address 
{ 
    get; 
    set; 
} 

Есть ли более простой способ объявить несколько переменных с одним и тем же свойством под одной доступностью, подобной этой?Объявить несколько общедоступных переменных с тем же свойством

Что-то вроде

public String name, email, address 
{ 
    get; 
    set; 
} 
+2

Нет, нет. Вы можете сделать их одним лайнером, хотя и более аккуратным, и обычно, как они написаны: 'public string name {get; задавать; } ' – Rob

+0

Невозможно, как вы упомянули afaik. Вы можете создать класс связанных свойств и использовать спецификатор одиночного доступа для этого объекта. – Adil

+0

Да, есть возможность. Это называется 'class';) – ckruczek

ответ

3

Вы можете упаковать их вместе в отдельный класс, а затем использовать его в качестве свойства:

class Info 
{ 
    public String name { get; set; }  
    public String email { get; set; }  
    public String address { get; set; } 
} 

class Person 
{ 
    public Info info { get; set; } 
} 

Очевидно, что это не то, что вы после того, как с точки зрения встраивание, но он представляет собой более чистый вариант, если Info - это то, что вы использовали бы в более чем одном месте. Если вы не собираетесь использовать этот класс в другом месте, то это бессмысленно.

Обратите внимание на то, что я использую ваши соглашения для капитализации свойств, но это «соглашение» для использования случая Паскаля.

-1

Если вы не заботитесь о ООП и просто хотите, чтобы куча строк собрана в одной переменной, вы можете сделать это с помощью простого Tuple в вашем случае. Это будет выглядеть так.

var bunchOfStrings = new Tuple<String,String,String>(String.Empty,String.Empty,String.Empty); 
Console.Writeline("{0},{1},{2}",bunchOfStrings.Item1 
           ,bunchOfStrings.Item2 
           ,bunchOfStrings.Item3); 

Но имейте в виду, что вы скрываете информацию с помощью этого подхода. Элементы просто нумеруются, и вы теряете любое соединение с семантикой элементов.

Смежные вопросы