众所周知,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# 是一种关于类型的严格语言。
为了解决这个问题,我可以使用反射,但我不想这样做。
如果有替代方案,我可以减少很多代码,否则我必须为其他功能做这件事。
一些想法?