Comparing 2 custom objects - C#

前端 未结 6 1497
鱼传尺愫
鱼传尺愫 2021-01-05 11:48

I need to write a generic method in the base class that would accept 2 objects as parameters and compares them for equality.

Ex:

public abstract cla         


        
6条回答
  •  被撕碎了的回忆
    2021-01-05 12:19

    I would probably do something like this:

    public abstract class BaseData : IEquatable
    {
        public abstract bool Equals(BaseData other);
    }
    
    public class DataTypeOne : BaseData
    {
        public string Name;
        public string Address;
    
        public override bool Equals(BaseData other)
        {
            var o = other as DataTypeOne;
            if(o == null)
                return false;
            return Name.Equals(o.Name) && Address.Equals(o.Address);
        }
    }
    
    public class DataTypeTwo : BaseData
    {
        public int CustId;
        public string CustName;
    
        public override bool Equals(BaseData other)
        {
            var o = other as DataTypeTwo;
            if (o == null)
                return false;
            return CustId == o.CustId && CustName.Equals(o.CustName);
        }
    }
    

提交回复
热议问题