Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用远程处理/代理创建具有内部成员的抽象类的实例?_C#_.net_Reflection - Fatal编程技术网

C# 如何使用远程处理/代理创建具有内部成员的抽象类的实例?

C# 如何使用远程处理/代理创建具有内部成员的抽象类的实例?,c#,.net,reflection,C#,.net,Reflection,我在玩Microsoft Entity framework 4,在某个时候,我想使用代理或FormatterServices创建ObjectStateEntry的假实例,并面临以下问题: 该类具有内部抽象成员,因此创建代理的结果是类型没有实现成员。因此,在CreateInstance期间引发异常 无法使用FormatterServices.GetUIInitializedData,因为它是一个抽象类 我很想知道,如果还有其他选择吗?在这里,当我看到你的问题标题如何创建抽象类的实例,我就写下了我的

我在玩Microsoft Entity framework 4,在某个时候,我想使用代理或FormatterServices创建ObjectStateEntry的假实例,并面临以下问题:

  • 该类具有内部抽象成员,因此创建代理的结果是类型没有实现成员。因此,在
    CreateInstance
    期间引发异常
  • 无法使用
    FormatterServices.GetUIInitializedData
    ,因为它是一个抽象类

  • 我很想知道,如果还有其他选择吗?

    在这里,当我看到你的问题标题
    如何创建抽象类的实例
    ,我就写下了我的答案,答案是
    不,你不能创建抽象类的实例。
    你尝试过类似的模拟框架吗,Vinay我试过Rhino Mock,我只是好奇地想知道,上面的例子适用于所有工具Moq,Rhino,JustMock。我正在搜索是否有任何出路。只是在谷歌上搜索一下就抛出了这个链接-。你需要看看它是否会抛出有用的东西。通常,建议对接口而不是类进行测试,尽管我可以看到它在这里不适用。是的,它不是。我一直在寻找与这个问题相关的东西。你可以通过创建代理来创建抽象类的实例(就像任何代理工具所做的那样),但是如果你在这个抽象类中有内部成员,那么如果你没有在目标库中添加
    InternalVisibleTo
    属性的选项,你就不能(你需要源代码访问才能这样做)。我正在寻找,你是否可以通过任何其他方式创建抽象类的实例。另外,Danny感谢你的回答。