C#反射和策略模式的使用

这种模式目前感觉是对数据库所有的表增删改查可以用到

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("鸡喜欢吃虫子");
        }
    }


}
 

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值