2014-01-26 4 views
1

Допустим, у меня есть класс с большим количеством участников, как этотСтенография для инициализации членов в конструкторе класса

class someclass 
{ 
    public int number {get;set;} //repeated a dozen times, with different names of course 
} 

это конструктор должен выглядеть следующим образом

public someclass(int number, ...,) 
{ 
    this.number=number;  //repeated again a dozen times 
} 

есть ли сокращенная запись, чтобы избежать повторения в конструкторе?

+0

Может быть, вы могли бы использовать массив или список вместо? – Zbigniew

+0

Что делать, если конструктор не предоставляет значения для всех членов? –

+0

@walkhard: да, это будет вариант, но фактические участники довольно разнообразны, и добавление другого слоя для их обертывания выглядит более раздражающим, чем повторение некоторых строк для меня. – Harter

ответ

5

Вы можете использовать object initializer:

var myInstance = new MyClass 
       { 
        Number = 42, 
        Foo = "Bar" 
       }; 
+1

Это похоже на то, что я искал, спасибо! – Harter

-1

Вы можете использовать PARAMS

public someclass(params int[] number) 
{ 
    this.number=number[0];  //repeated again a dozen times 
    //... 
} 

Создание экземпляра:

var c = new someclass(1, 2, 3, 4, 5, ...); 
Смежные вопросы