【问题标题】:Why isn't my public class and it's public methods visible in my other class?为什么我的公共类和我的其他类中的公共方法不可见?
【发布时间】:2015-07-19 19:16:37
【问题描述】:

我有两个如下所示的文件:

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 的列表,所以它应该是 @987654326 @ too),该类被标识为Object 类,我只能访问那里的方法(Equals、GetHashCode、GetType、ToString),但不能访问ShowItem 类中的公共方法或变量。我试过投射它,但即使我投射它,它也只是被识别为一个 Object 类。

【问题讨论】:

    标签: c# class xamarin


    【解决方案1】:

    您的 ShowAdapter&lt;&gt; 类是泛型的,泛型类型名称为 ShowItem。它隐藏了实际的课程ShowItem。它可能不应该是通用的。

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

    【讨论】:

      猜你喜欢
      • 2015-03-13
      • 1970-01-01
      • 2019-06-17
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2021-11-29
      相关资源
      最近更新 更多