特性,元数据

Posted xuyuchen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特性,元数据相关的知识,希望对你有一定的参考价值。

   public class Employee
    {
        // 只有SourceType== Salary 才转账
        public void TransferToEmployee([TransferSource(TransferType = TransferSourceType.Salary)]int number)
        {
            //汇钱到银行卡
        }
    }
    /// <summary>
    /// 转账类型
    /// </summary>
    public enum TransferSourceType
    {
        Salary,
        Reimburse,
        Loan
    }
  public class HR
    {
        public void ToSalary(Employee employee)
        {
// 使用元数据
var transferSource = typeof(Employee).GetMethod("TransferToEmployee").GetParameters()[0].GetCustomAttributes(false)[0] as TransferSource; if (transferSource.TransferType == TransferSourceType.Salary) { employee.TransferToEmployee(500); } else { employee.TransferToEmployee(0); } } }
        Employee employee = new Employee();
            HR hr = new HR();
            hr.ToSalary(employee);

 

以上是关于特性,元数据的主要内容,如果未能解决你的问题,请参考以下文章

C#之特性(Attribute)

C# 特性详解

事物概念及特性

第十八章 定制特性

自定义特性与应用

反射+type类+Assembly+特性