我正在处理这个例外,我通过互联网解决方案阅读但没有任何帮助。我的代码到目前为止。
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)'有一些无效的论点
答案 0 :(得分:0)
添加到列表时尝试转换,例如; (如果列表类型是您自己的自定义类型)
myList.Add(Convert.ChangeType(composite,typeof(CompositeType)));
或
myList.Add((CompositeType)composite);