protected ExpressionElement WithDict(string[] values, string defaultValue) { var dictEl = new DictionaryElement { ValueType = typeof(string), AvailableValues = values, DefaultValue = defaultValue }; return(WithElement(dictEl)); }
public static EventHandlerDescription EventHandler(EventInfo eventInfo, DictionaryElement target) { if (eventInfo is null || target is null) { return(null); } return(new EventHandlerDescription(new ReflectedEventRegistrationSource <EventHandler>(eventInfo, null, target))); }
//convert the dictionary to a list of type "ElementsList" public ElementsList ToList() { var list = new List <DictionaryElement>(); foreach (var item in MyDictionary) { var temp = new DictionaryElement(); temp.Word = item.Key; temp.Definition = item.Value; list.Add(temp); } var elementsList = new ElementsList(); elementsList.Words = list; return(elementsList); }
public void can_set_property_one_deep() { var prop = FindMembers.Member <DictTarget>(x => x.Property); var element = new DictionaryElement <DictTarget, string>(EnumStorage.AsString, new[] { "foo" }, prop); var target = new DictTarget { Property = "baz" }; var dict = new Dictionary <string, object>(); element.Write(target, dict); dict["foo"].ShouldBe("baz"); }
public void can_set_field_one_deep() { var field = FindMembers.Member <DictTarget>(x => x.Field); var element = new DictionaryElement <DictTarget, string>(EnumStorage.AsString, new[] { "foo" }, field); var target = new DictTarget { Field = "bar" }; var dict = new Dictionary <string, object>(); element.Write(target, dict); dict["foo"].ShouldBe("bar"); }
public void can_set_property_one_deep() { var prop = FindMembers.Member<DictTarget>(x => x.Property); var element = new DictionaryElement<DictTarget, string>(EnumStorage.AsString, new[] { "foo" }, prop); var target = new DictTarget { Property = "baz" }; var dict = new Dictionary<string, object>(); element.Write(target, dict); dict["foo"].ShouldBe("baz"); }
public void can_set_field_one_deep() { var field = FindMembers.Member<DictTarget>(x => x.Field); var element = new DictionaryElement<DictTarget, string>(EnumStorage.AsString, new []{ "foo" }, field); var target = new DictTarget { Field = "bar" }; var dict = new Dictionary<string, object>(); element.Write(target, dict); dict["foo"].ShouldBe("bar"); }
public void can_set_property_three_deep_to_existing_dictionary_structure() { var prop = FindMembers.Member <DictTarget>(x => x.Property); var element = new DictionaryElement <DictTarget, string>(EnumStorage.AsString, new[] { "one", "two", "three" }, prop); var target = new DictTarget { Property = "baz" }; var dict = new Dictionary <string, object>(); dict.Add("one", new Dictionary <string, object>()); element.Write(target, dict); dict["one"].ShouldBeOfType <Dictionary <string, object> >() ["two"].ShouldBeOfType <Dictionary <string, object> >() ["three"].ShouldBe("baz"); }
public void VisitDictionary() { Dictionary<object, object> dict = new Dictionary<object, object>(); dict.Add("first", 1); dict.Add(2, "second"); PlainTextVisitor visitor = new PlainTextVisitor(_writer); DictionaryElement elem = new DictionaryElement("dict", dict); elem.Visit(visitor); _stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(_stream); string actual = reader.ReadToEnd(); string expected = "Name: dict\r\n" + " Class: Int32, Name: first, Value: 1\r\n" + " Class: String, Name: 2, Value: second\r\n"; Assert.AreEqual(expected, actual); }
public ReflectedEventRegistrationSource(EventInfo eventInfo, Action <EventRegistration <T> > unregisterWithDexterity, DictionaryElement target) { this.eventInfo = eventInfo ?? throw new ArgumentNullException(nameof(eventInfo)); this.unregisterWithDexterity = unregisterWithDexterity ?? UnregisterViaDictionary; this.target = target ?? throw new ArgumentNullException(nameof(target)); dictionary = target.Dictionary.Extended(); }
public DelegatedEventRegistrationSource(Action <T> registerWithDexterity, Action <EventRegistration <T> > unregisterWithDexterity, DictionaryElement target) { this.registerWithDexterity = registerWithDexterity ?? throw new ArgumentNullException(nameof(registerWithDexterity)); this.unregisterWithDexterity = unregisterWithDexterity ?? UnregisterViaDictionary; dictionary = target?.Dictionary.Extended() ?? throw new ArgumentNullException(nameof(target)); }
public void can_set_property_three_deep_to_existing_dictionary_structure() { var prop = FindMembers.Member<DictTarget>(x => x.Property); var element = new DictionaryElement<DictTarget, string>(EnumStorage.AsString, new[] { "one", "two", "three" }, prop); var target = new DictTarget { Property = "baz" }; var dict = new Dictionary<string, object>(); dict.Add("one", new Dictionary<string, object>()); element.Write(target, dict); dict["one"].ShouldBeOfType<Dictionary<string, object>>() ["two"].ShouldBeOfType<Dictionary<string, object>>() ["three"].ShouldBe("baz"); }
public static CancelEventHandlerDescription CancelEventHandler(Action <CancelEventHandler> registerWithDexterity, Action <EventRegistration <CancelEventHandler> > unregisterWithDexterity, DictionaryElement target) => new CancelEventHandlerDescription(new DelegatedEventRegistrationSource <CancelEventHandler>(registerWithDexterity, unregisterWithDexterity, target));
public static CancelEventHandlerDescription CancelEventHandler(EventInfo eventInfo, Action <EventRegistration <CancelEventHandler> > unregisterWithDexterity, DictionaryElement target) { if (eventInfo is null || target is null) { return(null); } return(new CancelEventHandlerDescription(new ReflectedEventRegistrationSource <CancelEventHandler>(eventInfo, unregisterWithDexterity, target))); }
public static EventHandlerDescription <T> EventHandler <T>(Action <EventHandler <T> > registerWithDexterity, Action <EventRegistration <EventHandler <T> > > unregisterWithDexterity, DictionaryElement target) => new EventHandlerDescription <T>(new DelegatedEventRegistrationSource <EventHandler <T> >(registerWithDexterity, unregisterWithDexterity, target));
public static EventHandlerDescription EventHandler(Action <EventHandler> registerWithDexterity, DictionaryElement target) => new EventHandlerDescription(new DelegatedEventRegistrationSource <EventHandler>(registerWithDexterity, null, target));