Есть ли эквивалент typedef в С#? т.е. что-то вроде typedef Dictionary<string, string> mydict; Я клянусь, что видел, но не могу найти его Ответ 1 using MyDict = Dictionary<String, String>, который похож на определение символа, который будет заменен компилятором. Ответ 2 Сорт. using IntList = System.Collections.Generic.List<int>; http://arbel.net/2004/07/07/the-hidden-c-typedef/ Одна проблема заключается в том, что невозможно включить # определение. Ответ 3 использовать наследование: открытый класс DoubleNameValueCollection: Dictionary < string, NameValueCollection > {} Затем используйте, как если бы это было typedef: NameValueCollection values = new NameValueCollection(); values.Add( "value1", "value2" ); DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection(); dblNameCol.Add( "key1", values ); Или если вы хотите запутать других: DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection { { "key1", new NameValueCollection { { "value1", "value2" } }}}; Ответ 4 В С# нет эквивалента typedef, однако вы можете использовать "использование" для псевдонимов. Ответ 5 Существует делегат, который используется для определения типа аргумента метода, существует using BlaBla = Full.Name.Space.Yada.Yada; однако оператор using действителен только в текущем файле.
Ответ 1 using MyDict = Dictionary<String, String>, который похож на определение символа, который будет заменен компилятором.
Ответ 2 Сорт. using IntList = System.Collections.Generic.List<int>; http://arbel.net/2004/07/07/the-hidden-c-typedef/ Одна проблема заключается в том, что невозможно включить # определение.
Ответ 3 использовать наследование: открытый класс DoubleNameValueCollection: Dictionary < string, NameValueCollection > {} Затем используйте, как если бы это было typedef: NameValueCollection values = new NameValueCollection(); values.Add( "value1", "value2" ); DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection(); dblNameCol.Add( "key1", values ); Или если вы хотите запутать других: DoubleNameValueCollection dblNameCol = new DoubleNameValueCollection { { "key1", new NameValueCollection { { "value1", "value2" } }}};
Ответ 5 Существует делегат, который используется для определения типа аргумента метода, существует using BlaBla = Full.Name.Space.Yada.Yada; однако оператор using действителен только в текущем файле.