【发布时间】:2022-07-05 23:55:11
【问题描述】:
假设我有一个类ClassWhichDoesThings,它对方法进行各种调用,例如
DoSomething<TheTypeIWantToSpecifyOnce>();
DoAnotherThing<TheTypeIWantToSpecifyOnce>();
AndAnother<TheTypeIWantToSpecifyOnce>();
全班同学。
是否可以在一个地方指定泛型类型(如变量但在运行时未确定),而类之外的任何东西都必须传递泛型类型(避免ClassWhichDoesThings<T>),这样方法调用就变成了某种东西喜欢:
Type WriteTypeOnce = typeof(TheTypeIWantToSpecifyOnce);
DoSomething<WriteTypeOnce>();
DoAnotherThing<WriteTypeOnce>();
AndAnother<WriteTypeOnce>();
这里的目标是,如果我想更改类型,例如,我不必对 20 个不同的方法调用进行查找和替换。
基本上我想要一个泛型类,它私下指定自己的泛型类型。
【问题讨论】:
-
这是一个非常奇特的要求。为什么不直接将类设为泛型,引用
MyClass<T>有这么大的问题吗?其次,您列出的那些方法是公开的吗?这些方法在做什么?