Как справиться с ситуацией, когда тип получил виртуальный метод, и мне нужно предоставить Shim вместо этого?Как пробить виртуальный метод?
У меня есть контракт данных, с кодом:
public class ServiceResponse
{
...
public virtual string Serialize() {...}
...
}
В моем коде есть вызов response.Serialize()
, где response
является типом ServiceResponse
.
В моем тестовом модуле я хотел бы сделать что-то вроде этого:
ShimServiceResponse.Serialize =() => { return "serialized response"; };
Но в то время как метод Serialize
является virtual
, тип ShimServiceResponse
не обеспечивает Serialize
способ быть «подкладками».
Каков наилучший способ решить эту проблему? Благодарю.
Я использую Microsoft Подделки Framework, .NET 4.5.2 и VS 2015