Esempio n. 1
0
            public static TAttribute FromInvokeString(AttributeCloner <TAttribute> cloner, string invokeString)
            {
                if (invokeString == null)
                {
                    throw new ArgumentNullException("invokeString");
                }

                // Instantiating new attributes can be tricky since sometimes the arg is to the ctor and sometimes
                // its a property setter. AttributeCloner already solves this, so use it here to do the actual attribute instantiation.
                // This has an instantiation problem similar to what Attribute Cloner has
                if (invokeString[0] == '{')
                {
                    var propertyValues = JsonConvert.DeserializeObject <IDictionary <string, string> >(invokeString);

                    var attr = cloner.New(propertyValues);
                    return(attr);
                }
                else
                {
                    var attr = cloner.New(invokeString);
                    return(attr);
                }
            }