第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

循環(huán)遍歷C#中的對象屬性

循環(huán)遍歷C#中的對象屬性

Smart貓小萌 2019-09-20 15:29:24
我有兩個相同類型的對象,我想循環(huán)遍歷每個對象的公共屬性,并提醒用戶哪些屬性不匹配。是否可以在不知道對象包含哪些屬性的情況下執(zhí)行此操作?
查看完整描述

3 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊

是的,使用反射 - 假設(shè)每種屬性類型都Equals適當(dāng)?shù)貙崿F(xiàn)。另一種方法是ReflectiveEquals遞歸使用除了一些已知類型之外的所有類型,但這很棘手。


public bool ReflectiveEquals(object first, object second)

{

    if (first == null && second == null)

    {

        return true;

    }

    if (first == null || second == null)

    {

        return false;

    }

    Type firstType = first.GetType();

    if (second.GetType() != firstType)

    {

        return false; // Or throw an exception

    }

    // This will only use public properties. Is that enough?

    foreach (PropertyInfo propertyInfo in firstType.GetProperties())

    {

        if (propertyInfo.CanRead)

        {

            object firstValue = propertyInfo.GetValue(first, null);

            object secondValue = propertyInfo.GetValue(second, null);

            if (!object.Equals(firstValue, secondValue))

            {

                return false;

            }

        }

    }

    return true;

}


查看完整回答
反對 回復(fù) 2019-09-20
  • 3 回答
  • 0 關(guān)注
  • 1347 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號