我如何访问发件人对象中的数据列表

How i can access list of data which is in sender object

private void TrendicProductClick(object sender, int position)
{
}

这是我的方法,它给出了发件人和位置。 我想获取发件人 "non-public member" 侧的 _DealList。 我的发件人层次结构是这样的=>

  1. 发件人
    • 基地
    • 物品数量
    • 非Public会员
      • _DealList

我想访问的数据_DealList

要访问发件人的私有属性,正如@Tim 建议的那样,我们需要使用 Reflection

例如让我们假设发件人的类型是 MyClass 并且具有以下结构,那么您可以通过这样做来获得 属性 。我假设 dealList 是 public。否则你也可以使用反射:

class Program
{
    static void Main(string[] args)
    {
        MyClass myObj = new MyClass();
        FooBar(myObj);
    }
    public static void FooBar(object sender)
    {
        Type t = typeof(MyClass);
        var info = t.GetField("deal",BindingFlags.NonPublic | BindingFlags.Instance);
        var dealObject = info?.GetValue(sender);
        var dealListObj = ((DealList) dealObject)?.dealList;
    }
}

public class MyClass
{
    private DealList deal = new DealList();
    public void Foo() { }
}

public class DealList
{
    public List<int> dealList = new List<int>() {2,3};
}