Я думал о массивах и списках и задавался вопросом, могут ли и как классы заставить реализацию быть инициализируемой, как они.Давайте возьмем этот класс за основу:
class TestClass
{
private List<int> Numbers = new List<int> ();
// Insert code here
}
То, что я хотел бы сделать, это взять заданные значения и внутренне заполнить мой список.
TestClass test = new TestClass () { 2, 4, 7, 10 };
Что было бы нормальновозможно следующее:
List<int> test = new List<int> () { 2, 4, 7, 10 };
Но я хотел бы иметь его для своих собственных пользовательских классов.Следующий вопрос, который является необязательным, заключается в том, можно ли сделать то же самое для этого синтаксиса:
TestClass test = { 2, 4, 7, 10 };
Я полагаю, что это менее вероятно.Обратите внимание, что они отличаются от этого:
Cat cat = new Cat() { Name = "Sylvester", Age=8 };
Это прямые и необязательные объявления внутренних полей и свойств.
См. Также MSDN для получения дополнительной информации .