C# Ограничение типа псевдонима в универсальном c Метод для повторного использования - PullRequest
0 голосов
/ 15 марта 2020

Взгляните на приведенный ниже код.

void Foo1<T>() where T : struct, IBar1, IBar2, IBar3 {}
void Foo2<T>() where T : struct, IBar1, IBar2, IBar3 {}
void Foo3<T>() where T : struct, IBar1, IBar2, IBar3 {}

Как можно наложить псевдонимы ограничений в правой части каждого объявления, чтобы эти объявления могли стать короче и более читабельными?

Концептуально, то, что мне нужно, должно выглядеть примерно так (недействительный код C#):

MyConstraint<T> = T : struct, IBar1, IBar2, IBar3;
void Foo1<T>() where T : MyConstraint {}
void Foo2<T>() where T : MyConstraint {}
void Foo3<T>() where T : MyConstraint {}

То, что T : struct является наиболее важной частью моего варианта использования.

Если в C# нет такой грамматики, какие альтернативы вы предлагаете уменьшить здесь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...