Возможно ли статически сопоставить один универсальный тип с другим в С#?C#

Место общения программистов C#
Ответить
Anonymous
 Возможно ли статически сопоставить один универсальный тип с другим в С#?

Сообщение Anonymous »

В C++ я могу написать следующее, чтобы статически сопоставить один тип с другим, что полезно для общих аргументов.

Код: Выделить всё

template
struct TypeMapping {
};

template
struct TypeMapping {
using MappedType = float;
};

template
using MappedType = typename TypeMapping::MappedType;

// now I can use MappedType to get the type float
// and use it in a static/compile-time context
Можно ли это сделать на C#? когда я пытаюсь написать, используя alias = typename в классе на C#, вот так:

Код: Выделить всё

public class TypeMapping {
using MappedType = float;
}
он ​​сообщает мне, что это незаконно и что я могу использовать псевдонимы только в пространстве имен. Когда я ищу сопоставление статических типов, все, что я могу найти, — это вопросы о том, как приводить объекты из одного типа в другой. Но здесь я хочу сопоставить сам универсальный тип с другим типом


Подробнее здесь: https://stackoverflow.com/questions/791 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»