Aar*_*ker 5 dynamic decoupling c#-4.0
为了在c#中创建干净的解耦代码,我希望得到一些关于使用动态参数来构造对象的反馈.通常我相信你会创建一个接口并使用接口作为合同,但是你必须为你所有的类创建接口,我觉得它们有点蹩脚......
所以,我的问题是做这样的事情的利弊是什么:
class Class1
{
public string Description { get; set; }
public string Name { get; set; }
public Class1(dynamic obj)
{
Name = obj.Name;
Description = obj.Description;
}
}
Run Code Online (Sandbox Code Playgroud)
VS
class Class1
{
public string Description { get; set; }
public string Name { get; set; }
public Class1(IClass1 obj)
{
Name = obj.Name;
Description = obj.Description;
}
}
Run Code Online (Sandbox Code Playgroud)
界面优点:
优点dynamic:
我个人通常使用C#作为静态类型语言,除非我与自然动态的东西交互(例如我在其他地方使用反射,或调用COM或DLR)...但我可以看到,在某些情况下,这可能很有用.只是不要过度:)