我有以下代码:
protected Dictionary<string, ObjectAttribute<T>> attributes;
Run Code Online (Sandbox Code Playgroud)
每次我向目录添加一个新项时都应该传递一个泛型类型,但我不想使用object/dynamic,因为它可能会导致一些转换问题.那么,有可能这样吗?
T没有在类构造函数中或其他任何地方定义,因为每次添加项目时我都需要它.
如果你的意思是"并且T
可以改变每个项目",那么no:除非ObjectAttribute
还有非泛型基类或实现非泛型接口,即
protected Dictionary<string, IObjectAttribute> attributes;
Run Code Online (Sandbox Code Playgroud)
同
class ObjectAttribute<T> : IObjectAttribute {...}
Run Code Online (Sandbox Code Playgroud)
会工作.