我有这样的课:
Class foo<T>
{
anotherfoo<T>;
foo(){}
foo(foo<T> aFoo)
{ anotherfoo = aFoo; }
}
void main()
{
foo<string> obj1 = new foo<string>();
foo<int> obj2 = new foo<int>(obj1);
}
Run Code Online (Sandbox Code Playgroud)
这次我收到一个错误:无法从foo <string>转换为foo <int>.
但是我需要在这个类"foo"中有另一种类型的obj foo,这可能吗?
Ken*_*art 12
你的班级Foo<T>
有一个类型的领域Foo<T>
.这意味着无论您为类型选择什么,都T
将决定字段的类型.
另一种方法可能是提供非泛型基类(或接口):
public abstract class FooBase
{
}
public class Foo<T> : FooBase
{
private FooBase _anotherFoo;
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
308 次 |
最近记录: |