Beispiel #1
0
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            if (value is string)
            {
                IObjectDefinition    objectBeingEditted;
                ObjectDefinitionList collectionFromString = new ObjectDefinitionList();

                try
                {
                    string   collectionAsString = (string)value;
                    string[] objectNames        = collectionAsString.Split(new char[] { ',' });
                    string   objectName;

                    objectBeingEditted = (IObjectDefinition)context.Instance;

                    for (int x = 0; x <= objectNames.GetUpperBound(0); x++)
                    {
                        objectName = objectNames[x].Trim();
                        if (objectName.Length > 0)
                        {
                            collectionFromString.Add(objectBeingEditted.TestSequence().ObjectRegistry.GetObject(objectName));
                        }
                    }
                }
                catch
                {
                    throw new ArgumentException("Can not convert '" + (string)value + "' to an object collection");
                }
                return(collectionFromString);
            }
            return(base.ConvertFrom(context, culture, value));
        }
Beispiel #2
0
 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, System.Type destinationType)
 {
     if (destinationType == typeof(System.String) &&
         value is ObjectDefinitionList)
     {
         ObjectDefinitionList idd = (ObjectDefinitionList)value;
         string result            = "";
         foreach (IObjectDefinition def in idd)
         {
             if (result.Length > 0)
             {
                 result += ", ";
             }
             result += def.Name;
         }
         return(result);
     }
     return(base.ConvertTo(context, culture, value, destinationType));
 }