public TypedMultipleValueType(ICollection values) { Type elementType = values.GetType().GetInterface("ICollection`1").GetGenericArguments()[0]; leafType = JmxTypeMapping.GetJmxXmlType(elementType.AssemblyQualifiedName); List <GenericValueType> valueTypes = new List <GenericValueType>(); foreach (object value in values) { valueTypes.Add(new GenericValueType(value)); } Value = valueTypes.ToArray(); }
public TypedMapType(IDictionary value) { Type[] argumentTypes = value.GetType().GetInterface("IDictionary`2").GetGenericArguments(); keyType = JmxTypeMapping.GetJmxXmlType(argumentTypes[0].AssemblyQualifiedName); valueType = JmxTypeMapping.GetJmxXmlType(argumentTypes[1].AssemblyQualifiedName); List <MapTypeEntry> mapTypeEntries = new List <MapTypeEntry>(); foreach (DictionaryEntry entry in value) { mapTypeEntries.Add(new MapTypeEntry { Key = new GenericValueType(entry.Key), Value = new GenericValueType(entry.Value) }); } Entry = mapTypeEntries.ToArray(); }