首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何模拟StoredProcedureResponse

如何模拟StoredProcedureResponse
EN

Stack Overflow用户
提问于 2017-01-20 22:22:26
回答 3查看 738关注 0票数 3

这个问题很简单。我已经开发了一个IDocumentClient (它是DocumentDB .NET客户机)。我是Moq‘’ing ExecuteStoredProcedureAsync()方法。它返回一个StoredProcedureResponse类型(一个具体的类型),但是它的接口非常锁定。

我想我可以创建一个StoredProcedureResponse并将我的有效负载嵌入到Response属性中,但是它的setter是私有的。此外,唯一的构造函数是无参数的。

我在这里错过了什么?如果方法返回一个接口类型(IStoredProcedureResponse)是理想的,但我无法控制它。我意识到我可以为IDocumentClient编写一个包装器,但这是不可行的。

我唯一能想到的就是用"new“关键字扩展和强制覆盖属性--但是,在实际的调用代码中,我会遇到一个可怕的问题,我会检查运行时类型和向下转换,以便使用重写资源属性。

EN

Stack Overflow用户

发布于 2017-01-20 22:59:57

使用反射创建它:

代码语言:javascript
运行
复制
Type type=typeof(StoredProcedureResponse);
var spr = (StoredProcedureResponse)Activator.CreateInstance(type,true);

并设置属性和其他需要使用反射的内容:

代码语言:javascript
运行
复制
spr.GetType().InvokeMember("PropertyName",
BindingFlags.Instance | BindingFlags.Public | BindingFlags.SetProperty,
Type.DefaultBinder, obj, "MyName");
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41773312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档