c#自定义Attribute获取接口实现示例代码

网友投稿 418 2024-02-04


c#自定义Attribute获取接口实现示例代码

本文讲解"c#自定义Attribute获取接口实现示例代码",用于解决相关问题。

一般的接口实现多态

定义接口

interface Ipeople{void say();}

定义实现的类

public class man : Ipeople{public void say(){ MessageBox.Show("man");}} public class woman : Ipeople{public void say(){ MessageBox.Show("woman");}}

一般实现的方法

升级版

添加自定义(这个网上好多)

实现类

调用方法

private static void NewMethod(string tpye){ Ipeople ib = null; var types = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(a => a.GetTypes().Where(t => t.GetInterfaces().Contains(typeof(Ipeople)))) .ToArray(); foreach (var v in types) { var attribute = v.GetCustomAttributes(typeof(NameAttribute), false).FirstOrDefault(); if (attribute != null && ((NameAttribute)attribute).Name == tpye) { ib = (Ipeople)v.Assembly.CreateInstance(v.FullName); break; } } if (ib != null) ib.say();}

这个可以避免需要维护swich语句

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。

关于 "c#自定义Attribute获取接口实现示例代码" 就介绍到此。希望多多支持

编程技术 和 程序设计

本文讲解"C# 实现PPT 每一页转成图片过程解析",用于解决相关问题。要实现PPT转图片,首先需要引用两个DLL。我这里用的这个这个版本Microsoft.Office.Interop.Power ...


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:hdml指的是什么接口
下一篇:Iterator与LIstIterator接口在java中的区别有哪些
相关文章

 发表评论

暂时没有评论,来抢沙发吧~