2012-02-17 20 views
7

ベースクラスを継承するクラスのルールを設定できますか?例えば。 Person : BaseClassPersoniSomeKindOfInterfaceを実装したい場合は、Personがインターフェイスを実装していない場合は、BaseClassから継承することはできません。継承クラスのルール

私は、これはあなたがあなたのベースクラスにインターフェースを実装し、実装を提供するために継承クラスを強制することができ、次の

public BaseClass<T> 
    where T : iSomeKinfOfInterface 

答えて

10

を行うことができ、一般的な基底クラスでposibble知っている:

public interface ISomeInterface 
{ 
    void DoSomething(); 
} 

public abstract class BaseClass : ISomeInterface 
{ 
    public abstract void DoSomething(); 
} 

public class Person : BaseClass 
{ 
    public override void DoSomething() 
    { 
     ... 
    } 
} 
2

クラスを

abstract BaseClass : ISomeKinfOfInterface 
+0

として宣言します。抽象クラスは使用できません。私が話しているクラスは、ユーザーコントロールのwinformsです。私は抽象基本クラスを使用すると、私はVisualスタジオのデザイナーでユーザーコントロールをほとんどすることはできません... – Captain0

+0

ジェネリックベースクラスを使用しているときに私がデザイナーで取得するエラーは、これと同じですhttp://stackoverflow.com/questions/3933218/form-designer-breaks-on-generic-abstract-usercontrol抽象クラスを使用するとエラーは似ています – Captain0