110,534
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Windows.Forms;
namespace TestClassForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
T InstanceClass<T>(string fullName)
{
return (T) Activator.CreateInstance(Type.GetType(fullName));
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//实例化一个类名为comboBox选择时的属性值的类
//TestClassForm. 是程序的命名空间后跟一个点
IBaseClass say = InstanceClass<IBaseClass>("TestClassForm." + comboBox1.SelectedItem.ToString().Trim());
say.SayHello();
}
}
public abstract class IBaseClass
{
public abstract void SayHello();
}
public class A : IBaseClass
{
public override void SayHello()
{
MessageBox.Show("我是类A");
}
}
public class B : IBaseClass
{
public override void SayHello()
{
MessageBox.Show("我是类B");
}
}
public class C : IBaseClass
{
public override void SayHello()
{
MessageBox.Show("我是类C");
}
}
}
var t= Type.GetType(cbx_CarTestType.SelectedItem.ToString());
(Activator.CreateInstance(t) as ITest)?.SayHello();