0
我有在dll中实现的属性的类(我无法更改实现,因为我没有庞大的源代码)。我无法使用属性Name
替代使用继承类,因为项目使用了数千行代码(Ctrl + h不起作用)。有人告诉我可以通过Castle和Unity动态属性拦截来解决我的问题。但我找不到任何可行的小例子。你能展示如何实现它吗?我读到Castle动态代理只拦截虚拟方法。是否有可能通过接口拦截非虚拟方法?动态属性拦截
namespace DynamicInterception
{
// Placed int first dll
public class Cargo
{
public string Name { get; set; }
}
//Placed in second dll
public class Wagon
{
public Cargo Cargo { get; set; }
}
class Program
{
static void Main(string[] args)
{
Wagon wagon = new Wagon();
wagon.Cargo = new Cargo() { Name = "Test" };
}
}
}
我认为你可以像这样创建新的{prop1 =“value”,prop2 =“value2”}; –