为什么我的公共课程和公共方法在我的其他班级中不可见?

时间:2015-07-19 19:16:38

标签: c# class xamarin

我有两个看起来像这样的文件:

public class ShowItem
{
    public string name;
    public string date;

    public ShowItem(string name, string date)
    {
        this.name = name;
        this.date = date;
    }

    public string getName()
    {
        return name;
    }
}

public class ShowAdapter<ShowItem> : BaseAdapter<ShowItem>
{
    List<ShowItem> shows = new List<ShowItem>();

    ...

    public override View GetView(int position, View convertView, ViewGroup parent)
    {

        ...

        view.FindViewById<TextView>(Android.Resource.Id.Text1).Text = shows[position] ... ;
        return view;
    }
}

但是在第二节课中,当我在访问&#34;节目&#34;之后尝试访问ShowItem方法时像这样的列表:shows[position](正在访问ShowItems的列表,所以它也应该是ShowItem,该类被标识为Object类,我可以只访问那里的方法(Equals,GetHashCode,GetType,ToString),而不访问ShowItem类中的公共方法或变量。我尝试过它,但它也被标识为Object类,即使我投了它。

1 个答案:

答案 0 :(得分:2)

您的ShowAdapter<>类是泛型的,通用类型名称为ShowItem。它隐藏了实际的班级ShowItem。它可能不应该是通用的。

public class ShowAdapter : BaseAdapter<ShowItem>
{
    ...
}