可以模拟自定义属性c#

本文关键字:自定义属性 模拟 | 更新日期: 2023-09-27 18:27:38

可以模拟自定义属性c#?

例如:

[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] 
public class YourAttribute : Attribute
{
}
[Your]
public void MyMethod()
{
   //something
}

我想测试MyMethod,但我需要模拟属性Your。

可以模拟自定义属性c#

是的,您可以通过TypeDescriptor将属性添加到实例或类型;以下示例使用了Moq,但它也可以应用于其他地方。

var mock = new Mock<IMyInterface>();
var attribute = new YourAttribute();
TypeDescriptor.AddAttributes(mock.Object, attribute);