找不到名称空间名称“ p”(您是否缺少using指令或程序集引用?)

MirlvsMaximvs

我正在使用一种通用方法来反序列化xml文档取决于包含。它试图反序列化所有可能的情况。

这是我的代码段:

 private static Dictionary<Type, byte> getMessageDictionary() {
     Dictionary<Type, byte> typesIO = new Dictionary<Type, byte>();
     typesIO.Add(typeof (Type1), 1);
     typesIO.Add(typeof (Type2), 11);
     typesIO.Add(typeof (Type3), 12);

     return typesIO;
 }

 public static object GetContainer(XmlDocument xd) {
     foreach(KeyValuePair<Type, byte> item in getMessageDictionary()) {
         try {
             Type p = item.Key;
             var z = Utils.XmlDeserialize<p> (xd.OuterXml);

             return z;
         } catch {
             continue;
         }
     }
     return null;
 }

但是编译器说p找不到类型或名称空间名称我会错过using指令或程序集参考吗?什么地方出了错?

背风处

p是包含对Type实例的引用的变量,但是您尝试将其用作类型参数。

要执行您想要的操作,您将需要使用反射调用该方法:

Type p = item.Key;
var method = typeof(Utils).GetMethod("XmlDeserialize").MakeGenericMethod(p);
var z = (XmlDocument)method.Invoke(null, new object[] { xd.OuterXml });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

找不到类型或名称空间名称“ PrintDocument”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ BundleCollection”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ FacebookSessionClient”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ Places”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ dbConnection”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ MvvmValidation”(您是否缺少using指令或程序集引用?)

错误:找不到类型或名称空间名称'SqlCe'(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ IClientValidatable”(您是否缺少using指令或程序集引用?)

找不到Blazor的类型或名称空间名称“ App”(您是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“可为空”(您是否缺少using指令或程序集引用?)

错误1找不到类型或名称空间名称*(您是否缺少using指令或程序集引用?)

找不到类型或名称空间Compare(您是否缺少using指令或程序集引用?)

它们类型或名称空间“ Assembly”找不到(您是否缺少using指令或程序集引用?)

找不到类型或命名空间名称“NativeShare”(您是否缺少 using 指令或程序集引用?)

AzureDevOps错误找不到类型或名称空间名称“ MyNamespace”(您是否缺少using指令或程序集引用?)

发生错误找不到类型或名称空间名称“ T”(您是否缺少using指令或程序集引用?)

找不到类型或命名空间名称“玩家”。(您是否缺少指令或程序集引用)

Unity 2019 错误找不到类型或命名空间名称“NotSupportedException”(您是否缺少 using 指令或程序集引用?)

错误 CS0246 找不到类型或命名空间名称“Androidx”(您是否缺少 using 指令或程序集引用?)

CS0246 C# 找不到类型或命名空间名称“ForeignKeyAttribute”(您是否缺少 using 指令或程序集引用?)

如何解决“找不到类型或命名空间名称‘Didstopia’(您是否缺少 using 指令或程序集引用?)”

错误 CS0246:找不到类型或命名空间名称“LoadSceneMode”(您是否缺少 using 指令或程序集引用?)

找不到类型或名称空间名称“系统”(是否缺少using指令或程序集引用?)

找不到类型或名称空间名称“ MapInfo”(是否缺少using指令或程序集引用?)

CS0246:找不到类型或名称空间名称“ T”。您是否缺少using指令或程序集引用?在C#中

如何解决CS0246找不到类型或名称空间名称'TypeNameSerializer'(您是否缺少using指令或程序集引用?

如果缺少using指令或程序集引用,则找不到类型或名称空间名称Edm

找不到名为“Bank”的类型或命名空间(您是否缺少 using 指令或程序集引用?)

错误CS0246找不到类型或名称空间名称“ Windows”(是否缺少using指令或程序集引用?)