Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET接口_.net_User Controls_Interface - Fatal编程技术网

.NET接口

.NET接口,.net,user-controls,interface,.net,User Controls,Interface,在过去的几年里,我已经从一个隐藏/显示控件的长流程页面变成了使用很多用户控件。我总是在同事之间就最佳实践进行一些讨论 您应该具有填充的属性,还是使用参数化子对象在控件中加载信息 我害怕使用paramteter's的部分原因是我不能确保所有东西都会被填充 使用接口的基本规则是什么?我从来没有创造过一个。我应该试试这个,还是继续使用“子负载”?我不确定接口是否会在这里对您有很大帮助。我的理解是,您正在将页面分解为一组包含其他控件的“复合”用户控件,并希望决定是否使用属性来设置值 我想这实际上取决于用

在过去的几年里,我已经从一个隐藏/显示控件的长流程页面变成了使用很多用户控件。我总是在同事之间就最佳实践进行一些讨论

您应该具有填充的属性,还是使用参数化子对象在控件中加载信息

我害怕使用paramteter's的部分原因是我不能确保所有东西都会被填充


使用接口的基本规则是什么?我从来没有创造过一个。我应该试试这个,还是继续使用“子负载”?

我不确定接口是否会在这里对您有很大帮助。我的理解是,您正在将页面分解为一组包含其他控件的“复合”用户控件,并希望决定是否使用属性来设置值

我想这实际上取决于用户控件的设计方式,以及它们是否被动态添加到页面等(一种可能的情况)。我个人喜欢在构造函数中指定内容,或者使用工厂方法创建控件。我在创作时负责确保一切就绪。我的经验是,有时我会忘记设置一些东西,而没有意识到我的错误。你关于设置属性或使用子对象以及填充的所有内容的观点对我来说没有多大意义。如果您有某种依赖关系,并且需要加载其他内容,那么无论它是属性还是子属性,都可能发生这种情况

我会参考VB.NET/C#/OOP上的任何一本书来了解接口的语法。接口基本上描述了类的契约。如果您有类A和B,并且它们都实现了一个名为ITime的接口,那么它们都将提供ITime上定义的所有方法。他们仍然可以添加自己的方法,但至少必须包含ITime方法的实现(例如,我们可能将GetDate()、GetCurrentTime()作为ITime上的方法)。接口不会告诉类A或类B这些方法应该如何工作——只告诉它们的名称、参数和返回类型。有关接口继承与实现继承的区别的更多信息,请参阅OOP手册中的查找继承