2016-08-03 13 views
0

私は2つのクラスを持つプログラムを持っています。私は他のクラスのいくつかのSystem.Windows.Formsオブジェクトをフォーマットするメソッドを作成しようとしています。C#一般的なメソッドのパラメータを作成します。

これは私のコードです:

internal void Format(Panel component, int width, int height, int x, int y) 
    { 
     component.Width = width; 
     component.Height = height; 
     component.Left = x; 
     component.Top = y; 
    } 

    internal void Format(GroupBox component, int width, int height, int x, int y) 
    { 
     component.Width = width; 
     component.Height = height; 
     component.Left = x; 
     component.Top = y; 
    } 

    internal void Format(Button component, int width, int height, int x, int y) 
    { 
     component.Width = width; 
     component.Height = height; 
     component.Left = x; 
     component.Top = y; 
    } 

私は必要なすべてのオブジェクトタイプのために(異なるオブジェクトパラメータを指定して)同じメソッドを作成することができ、多分'でただ一つの方法でそれを作成するための方法がありますすべてのオブジェクトタイプの「一般/全体/共通」パラメータ。

+1

は、私はどちらかのオブジェクトを使用すると、サポートしたり、虚偽または何かを返すものの一つでない場合は例外をスローチェックをお勧めします、代わりにこの基本クラスを使用することができます。 – Jite

+0

それは動作します!またアドバイスをいただきありがとうございます。 – Mishaka

+0

問題ありません。 @Ephraimが答えを投稿したので、IDは正解とマークすることをお勧めします。 :) – Jite

答えて

1

すべてのコントロールがこのクラスから継承するため、Controlをパラメータデータ型として使用してください。彼らはすべて `Control`クラスから継承

internal void Format(Control component, int width, int height, int x, int y) 
{ 
    component.Width = width; 
    component.Height = height; 
    component.Left = x; 
    component.Top = y; 
} 
+0

ありがとうございます! – Mishaka

関連する問題