我有一个asp.net应用程序,它有一个函数接收一个包含键值<string,string>
的集合的对象参数,我想将这些对象转换为keyValuePair <string,string>.
这是我的代码:
[WebMethod]
public static string ProcessIT(object employeeDts1, string val)
{
KeyValuePair<string, string> txt = new KeyValuePair<string, string>();
txt = ( KeyValuePair<string, string>)employeeDts1 ;
if (txt!=null)
{
//here I process that object...
}
}
但问题是,当我将该对象转换为Keyvaluepair时,我收到以下错误
“指定的演员表无效。”
答案 0 :(得分:0)
你说它是一个 KeyValuePair的集合,所以你当然不能将该集合强制转换为KeyValuePair的单个实例。
您要么想要创建另一个集合,要么只从该集合中取一个 - 这是什么?
public static string ProcessIT(object employeeDts1, string val)
{
// cast object to concrete type, assuming collection is IEnumerable here
// but obviously only you know what the type is
var KvpCollection = employeeDts1 As IEnumerable<KeyValuePair<string,string>>;
if (KvpCollection == null)
{
// bad data, you better handle it and not carry on
}
foreach (var keyValuePair in KvpCollection)
{
// do something to each of your keyValuePair objects ...
}
}