誰もが知っているように、c# は強く型付けされた言語です。
これには長所と短所があります。
問題なく正常に動作する次のコードがあります。
public static void SetText(Button Obj, string Text) { Obj.Text = Text; }
public static void SetText(CheckBox Obj, string Text) { Obj.Text = Text; }
public static void SetText(ComboBox Obj, string Text) { Obj.Text = Text; }
public static void SetText(Label Obj, string Text) { Obj.Text = Text; }
public static void SetText(LinkLabel Obj, string Text) { Obj.Text = Text; }
public static void SetText(RadioButton Obj, string Text) { Obj.Text = Text; }
public static void SetText(TextBox Obj, string Text) { Obj.Text = Text; }
public static String GetText(Button Obj) { return Obj.Text; }
public static String GetText(CheckBox Obj) { return Obj.Text; }
public static String GetText(ComboBox Obj) { return Obj.Text; }
public static String GetText(Label Obj) { return Obj.Text; }
public static String GetText(LinkLabel Obj) { return Obj.Text; }
public static String GetText(RadioButton Obj) { return Obj.Text; }
public static String GetText(TextBox Obj) { return Obj.Text; }
このコードを減らす簡単な方法は、次のようなものです。
public static void SetText(Object Obj, string Text) { Obj.Text = Text; }
public static String GetText(Object Obj) { return Obj.Text; }
ただし、c# は型に関する厳密な言語であるため、機能しません。
この問題を解決するには、反射を使用できますが、使用したくありません。
代替手段があれば、多くのコードを減らすことができます。それ以外の場合は、他の機能に対してそれを行う必要があります。
いくつかのアイデア?