• 知识点


     

     

    返回只读集合

            List<PaymentMethod> _paymentMethods;
            public IEnumerable<PaymentMethod> PaymentMethods => _paymentMethods.AsReadOnly();

    自定枚举

        public class CardType : SeedWrok.Enumeration
        {
            public static CardType Amex = new CardType(1, "Amex");
            public static CardType Visa = new CardType(2, "Visa");
            public static CardType MasterCard = new CardType(3, "MasterCard");
            public CardType(int id,string name) : base(id, name) { }
        }
    
        public abstract class Enumeration : IComparable
        {
            public string Name { get; private set; }
            public int Id { get; private set; }
            protected Enumeration(int id, string name)
            {
                Id = id;
                Name = name;
            }
            public override int GetHashCode() => Id.GetHashCode();
            public override bool Equals(object obj)
            {
                var temp = obj as Enumeration;
                if (temp == null)
                    return false;
                var typeMatch = GetType().Equals(temp.GetType());
                var valueMatch = temp.Id.Equals(Id);
                return typeMatch && valueMatch;
            }
            public int CompareTo(object obj) => Id.CompareTo(((Enumeration)obj).Id);
            public static IEnumerable<T> GetAll<T>() where T:Enumeration
            {
                var fields = typeof(T).GetFields();
                return fields.Select(s => s.GetValue(null)).Cast<T>();静态字段使用参数null,Cast转为相应强类型
            }
        }
    

      

  • 相关阅读:
    GUI基础学习
    常用类string的用法
    类。对象和包--补上周
    类.对象和包
    调用函数的注意事项
    函数的简单运用
    一维数组基础
    java中scanner类的用法
    数据库——DQL(语句查询)
    数据库——JDBC
  • 原文地址:https://www.cnblogs.com/Celebrator/p/11364330.html
Copyright © 2020-2023  润新知