- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
是否可以转换 Dictionary<string, Anything>
一致的中间通用类型?所以我可以投 <string, string>
, <string, bool>
, <string, int>
, <string, anything>
都是同一类型的字典吗?
我正在从事一个使用大量反射的项目,我需要能够像这样处理字典类型:
FieldInfo field = this.GetType().GetField(fieldName);
Dictionary<string, Object> dict = (Dictionary<string, Object>)field.GetValue(this);
上面的代码是我目前拥有的,程序总是在从 field.GetValue 转换为通用 Dictionary<string, Object>
时失败.
有没有办法做到这一点?还是我应该想出一种不同的方式来处理这些词典?
如有任何帮助,我们将不胜感激。
最佳答案
正在关注 AakashM's answer , Actor 似乎不打球。不过,您可以使用一些辅助方法来绕过它:
IDictionary dictionary = (IDictionary)field.GetValue(this);
Dictionary<string, object> newDictionary = CastDict(dictionary)
.ToDictionary(entry => (string)entry.Key,
entry => entry.Value);
private IEnumerable<DictionaryEntry> CastDict(IDictionary dictionary)
{
foreach (DictionaryEntry entry in dictionary)
{
yield return entry;
}
}
在这种情况下,在 foreach 中输入 duck 非常方便。
关于C# 将 Dictionary<string, AnyType> 转换为 Dictionary<string, Object> (涉及反射),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206557/
您好,我正在编写这个程序,我正在尝试弄清楚如何比较数组中的两个项目以找到最大的项目。 public static > T getLargest(T [] a, int low, int high){
我正在使用答案 How do I create a new AnyType[] array? 中的代码。我的问题是如何初始化这个数组。当我尝试运行此代码时,我在 Clear() 上遇到空指针异常,我认
创建 UIBUttons 操作时,默认为 AnyType。为什么它是默认的,为什么它是一个选项?不应该只是 UIButton 吗? 最佳答案 我们可以将 任何 类型的 UIControl 连接到 IB
在这种情况下,最佳做法是什么?我想要一个与原始数组具有相同类型和长度的未初始化数组。 public static > void someFunction(AnyType[] someArray) {
我有一个由另一个应用程序提供的现有 XML 文件,看起来类似于: RootName
以下代码会导致转换异常,我不确定原因。 ParameterValueList 中的对象应该急切地解码为 JAXB 对象 ParameterValueStruct,但事实并非如此。一切都是直接从 soa
我正在尝试在 WCF 外部使用 DataContractSerializer 来序列化一个对象。本例中的对象继承自 CollectionBase 周围的旧通用包装器,例如 [KnownType(typ
尝试在 Swift 中制作并洗牌一副牌,该牌组由名为 cardDeck 的数组中的 Card 对象组成。然后我想洗牌。相关代码: var cardDeck = [card]() for
我的问题是我有一个 MessageList 类型的类,它包含 Message 项,定义如下: 我的消息类看起来像
我是编程界的新手,所以我只需要一些帮助。我必须在 android 上使用 web 服务。我已经做了一个工作正常的,但是当我必须传递一个参数时,问题就发生了。我不确定我做错了什么。 这是 AsyncTa
我有一个模式片段看起来像 hyperjaxb3 生成的
假设我有一个用户模式,它将“爱好”链接到它,作为一个数组字符串。 我最近从 MongoDB 切换到 SQL,所以,我的第一个想法是像 Mongo 一样接近它,并做出这样的东西; var userSch
xsd 在这里: http://www.iana.org/assignments/xml-registry/schema/epp-1.0.xsd 我不想修改 XSD(由第三方维护)或 XJC 生成的类
这是我的异步代码 @Override protected SoapObject doInBackground(String... params) { try { SoapObject requ
如您所知,.NET 框架中有一个通用类 List。我想用 C++ 编写一个通用类列表,我想在我的列表中存储指向一个类型的指针。这是类和测试程序的头文件和源代码: // header template
我有这个XML文件 和这个XSD 架构
我正在阅读有关 XML、XML-Schema、DTD 的资料,但我并不真正理解 xsd:any 和 xsd:anyType 之间的区别。 有人可以向我解释一下或指出一些好的文章吗? (请不要链接到 X
喜欢ISNULL函数中的参数吗? 我们可以用来定义的东西: create function getvalue ( @param1 varchar(max), @param2 varch
在使用 DataContractSerializer 时,我得到了很多我不想使用的 namespace 的额外属性。我在另一个项目中生成了一个类似的数据结构,没有所有额外的标记,所以我知道它是可能的。
我在我的 Android 应用程序中调用 Web 服务,方法是 getGramaNiladhariData(),我得到的结果是 SoapObject。 result = (SoapObject) en
我是一名优秀的程序员,十分优秀!