这种模式目前感觉是对数据库所有的表增删改查可以用到
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
Assembly ass = Assembly.GetExecutingAssembly();
Type 动物类型 = ass.GetType("ConsoleApp2.狗");
动物 动物a = (动物)Activator.CreateInstance(动物类型);
动物a.吃饭();
上下文 sxw = new 上下文(动物a);
sxw.执行吃饭();
}
}
public class 上下文{
private 动物 _dw;
public 上下文(动物 dw) {
_dw = dw;
}
public void 执行吃饭()
{
_dw.吃饭();
}
}
public abstract class 动物
{
public abstract void 吃饭();
}
public class 猫 : 动物
{
public override void 吃饭()
{
Console.WriteLine("猫喜欢吃鱼");
}
}
public class 狗 : 动物
{
public override void 吃饭()
{
Console.WriteLine("狗喜欢吃骨头");
}
}
public class 鸡 : 动物
{
public override void 吃饭()
{
Console.WriteLine("鸡喜欢吃虫子");
}
}
}