本文介绍了使用类DerivedClass编译错误:BaseClass的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
class BaseClass< T>
{
public void 重置(){data.Clear(); }
public void 添加(T value ){data.Add( value ); }
public int 计数{ get { return (data.Count); }
public T this [ int index]
{
get { return (data [index] ); }
set {data [index] = value ; }
}
列表< T> data = new List< T>();
}
class DerivedClass< T> :BaseClass< T>
{
public DerivedClass()
{
this .DoSomething();
}
私人 void DoSomething()
{
Add( 200 );
}
}
当我这样做时
DerivedClass< int> inst = new DerivedClass< int>();
inst.Add(200)
将在方法 DoSomething()
但添加(200)
/ code>将给出编译错误无法将'int'转换为'T'。
解决方案
class BaseClass<T> { public void Reset() { data.Clear(); } public void Add(T value) { data.Add(value); } public int Count { get { return(data.Count); } } public T this[int index] { get { return (data[index]); } set { data[index] = value; } } List<T> data = new List<T>(); } class DerivedClass<T> : BaseClass<T> { public DerivedClass() { this.DoSomething(); } private void DoSomething() { Add(200); } }
When I doDerivedClass<int> inst = new DerivedClass<int>();
inst.Add(200)
will compile
but Add(200)
in method DoSomething()
will give a compile error "cannot convert 'int' to 'T'.
解决方案
这篇关于使用类DerivedClass编译错误:BaseClass的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!