コード例 #1
0
        public static object ConvertFromString(string item, PropertyDefinition definition)
        {
            ProviderPropertyDefinition providerPropertyDefinition = (ProviderPropertyDefinition)definition;

            if (providerPropertyDefinition.IsMultivalued && !string.IsNullOrEmpty(item))
            {
                List <object> list = new List <object>();
                int           num  = 0;
                do
                {
                    int num2 = item.IndexOf("|", num);
                    int num3 = int.Parse(item.Substring(num, num2 - num));
                    num2++;
                    string item2 = item.Substring(num2, num3);
                    num = num2 + num3;
                    list.Add(SearchHelper.ConvertFromString(item2, definition.Type));
                }while (num < item.Length);
                return(ValueConvertor.CreateGenericMultiValuedProperty(providerPropertyDefinition, false, list, null, null));
            }
            return(SearchHelper.ConvertFromString(item, definition.Type));
        }