Я такой ситуацииБазовый общий класс с автоматическим T от унаследованной сына типа
abstract class Foo<T>
{
// Implementation using T type...
}
class Bar : Foo<Bar>
{ }
Каждый класс, который наследует от Foo использует себя в качестве общего типа, и у меня есть различные наследственные классы, например: «планкой1 "," Bar2 "и т. Д.
Возможно ли реализовать класс Foo, автоматически беря в действие тип родового типа из унаследованного типа?
он сформулировал это плохо, но я думаю, вы прибили его – Jonesopolis
+1 для этого ответа. Однако остерегайтесь этого: http://stackoverflow.com/questions/31771282/cannot-convert-from-foof-to-f#comment51562976_31771282 вопрос. Если автор пытается гарантировать, что 'T' является * текущим * подклассом' Foo', с помощью 'Foo', то этого в настоящее время невозможно гарантировать это. Я отправил предложение команде Roslyn добавить новое ограничение типа для решения этой проблемы. См. Здесь: https://github.com/dotnet/roslyn/issues/4332 Пожалуйста, звоните, если вы считаете, что это важно. –