zoukankan      html  css  js  c++  java
  • Accessor中Generic的元素是internal/private的会导致转换失败的异常

    internal SuspenseItemManager 中有private Queue<SuspenseItem> suspenseList = new Queue<SuspenseItem>();

    SuspenseItem是internal的

    以下代码会抛异常: SuspenseItem无法转成SuspenseItem_Accessor。 

    因为SuspenseItemManager_Accessor中有Generic的SuspenseItem,而且是internal的,所以不能转换。

    SuspenseItemManager_Accessor target = new SuspenseItemManager_Accessor();
    
    SuspenseItem_Accessor obj = new SuspenseItem_Accessor();
    
    target.suspenseList.Enqueue(obj);

    解决方案:

    SuspenseItemManager_Accessor target = new SuspenseItemManager_Accessor();
    
    PrivateObject obj = new PrivateObject(target.Target);
    Queue<SuspenseItem> queue = obj.GetField("suspenseList") as Queue<SuspenseItem>;
    
    queue.Enqueue(new SuspenseItem());
  • 相关阅读:
    jackson自动将东八区时间转成标准时间
    开发项目和所用时间 感想
    自我介绍
    后缀数组模板
    lucas模板
    后缀数组da3模板
    cf#366....
    第1月2周1天
    第1月2周2天
    第1月1周1天
  • 原文地址:https://www.cnblogs.com/DelPiero/p/2718411.html
Copyright © 2011-2022 走看看