本文介绍了使用类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 do
DerivedClass<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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-16 05:24