我正致力于构建自己的基本用户界面类。在它们上,我希望它们都具有类似的“公共”属性和方法。我可以定义一个接口类,但是接口似乎只允许抽象方法,没有属性。
我不想将完全相同的代码复制到每个类中,但不确定如何实现……例如:我希望这个通用的东西适用于按钮、文本框、复选框、列表框等用户控件。
建议?
发布于 2009-03-23 13:32:35
我自己来自C++背景,在那里多重继承是允许的,并且可以广泛地使用,所以我经常遇到和你一样的问题。你需要做的第一件事是阅读mix- is is这里你会注意到你自己一直在使用它们,而没有命名它们。第二步是在你需要的时候开始识别你的混入,你经常会发现你也可以通过组合来使用它们。第三步是使用组合来实现它们。是的,我也讨厌这样,但如果你想使用.NET (或Java或...),那就没有办法了:)
你应该使用inheritence的目的不是为了你的混合,而是为了实际识别你的项目的东西。我建议查看一些常见控件(文本框和类似控件)的.NET层次结构,以获得一些灵感。
祝好运
发布于 2009-03-23 13:24:42
在这种情况下,我通常使用抽象类。创建您的基抽象类,然后从新控件继承它。
发布于 2009-03-23 13:25:09
您可以在接口上定义属性:interface properties
public interface ISampleInterface
{
    // Property declaration:
    string Name
    {
        get;
        set;
    }
}https://stackoverflow.com/questions/673335
复制相似问题