我需要创建一个具有两个同名属性的类型,并且只在返回类型上有所不同。通过反射动态发射这种类型是完全可以接受的。
像这样的东西:
public TypeA Prop { get; }
public TypeB Prop { get; }
我明白我不能从 C# 或 VB.NET 或许多其他 .NET 语言中使用此属性。
为了避免向我解释为什么我不想这样做的答案,让我解释一下我为什么需要它:我需要它来重现错误。
更具体地说,我在AutoFixture中有一个错误,其中某种类型的Moq会导致它在某些情况下引发异常。问题是 Moq 发出的类型包含两个名为“Mock”的属性,它们仅在返回类型上有所不同。
我想在单元测试中重现这种情况,但我不想仅仅因为这个单一的原因而依赖 Moq,所以我想在测试套件内部重现这种行为。