为什么我的公共类和它的公共方法在我的其他类中不可见?

本文关键字:我的 其他 为什么 方法 | 更新日期: 2023-09-27 18:03:23

我有两个像这样的文件:

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;
    }
}

然而,在第二类中,当我尝试访问ShowItem方法后访问"显示"列表像这样:shows[position](访问ShowItems的列表,所以它应该是一个ShowItem太),类被识别为Object类,我只能访问那里的方法(Equals, GetHashCode, GetType, ToString),但不是在ShowItem类的公共方法或变量。我试过转换它,但即使我转换它,它也只是被识别为对象类。

为什么我的公共类和它的公共方法在我的其他类中不可见?

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

public class ShowAdapter : BaseAdapter<ShowItem>
{
    ...
}
相关文章: