簡體   English   中英

發生``Microsoft.CSharp.RuntimeBinder.RuntimeBinderException''

[英]'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred

我正在處理此異常,我閱讀了Internet解決方案,但沒有任何幫助。 到目前為止,我的代碼。

ServiceReference.CompositeType egk = new ServiceReference.CompositeType();
                egk = client.getStatus();
                appendToList(egk);

此方法將obj添加到列表中。 在這一部分,我收到例外。 問題出在括號中,動態組合引起了問題,但是我需要它來更改動態,並且我也知道復合obj具有參數。

public static void appendToList(dynamic composite)
    {
        if (composite == null)
        {
            throw new ArgumentNullException("obj is null");
        }
        else
        {
            var response = myList.Find(r => r.mName == composite.mName);
            if (response == null)
            {
                myList.Add(composite);
            }
            else
            {
                int n = 0;
                foreach (CompositeType item in myList)
                {
                    if (item.mName == composite.mName)
                    {
                        n = myList.IndexOf(item);
                        myList[n] = composite;
                        break;
                    }
                }
            }
        }
    }

我完全例外:

狀態:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:最佳重載方法匹配“ System.Collections.Generic.List.Add(eserv.CompositeType)”具有一些無效的參數

嘗試在添加到列表時進行投射,例如; (如果列表類型是您自己的自定義類型)

  myList.Add(Convert.ChangeType(composite,typeof(CompositeType)));

要么

   myList.Add((CompositeType)composite);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM