在Visual Studio 2012私人访问者(Private Accessors in Visu

2019-09-19 04:33发布

据我知道的Visual Studio 2012将不支持私人存取器。 你能给我可能的选择一些相关信息? PrivateObject.Invoke()不是我的最佳解决方案。

先感谢您!

Answer 1:

标记您的成员“内部”,并使用InternalsVisibleTo属性。 使用简单,没有类型安全问题。



Answer 2:

也许这张贴自制的专用访问器的Visual Studio 2012+将帮助你创建自己的私有访问器。

问候,

斯特凡



Answer 3:

我开始使用动态私人存取器功能,是NuGet包的一部分链接断言为MSTest的是我比较满意的。 一个失去强类型,但至少语法仍然可读。 这适用于动态特征。 还有一些其他的测试框架包。 测试代码如下所示:

var target = CreateMyObjectUnderTest();
dynamic dynamicTarget = target.AsDynamic();
Assert.AreEqual("abc", dynamicTarget.MyPrivateProperty);
Assert.AreEqual("xyz", dynamicTarget.PrivateMethod(123));


文章来源: Private Accessors in Visual Studio 2012