public void YetAnoterDynamicTest(params string[] args) { var model = ModelBinder.BindTo <DynamicPartModel>(PARSER.Parse(args)); Assert.NotNull(model); Assert.AreEqual("remove", model.Command); Assert.IsInstanceOf <RemoveParams>(model.Params); var p = model.Params as RemoveParams; Assert.AreEqual("2", p.Id); }
public void DynamicTest(params string[] args) { var model = ModelBinder.BindTo <DynamicPartModel>(PARSER.Parse(args)); Assert.NotNull(model); Assert.AreEqual("create", model.Command); Assert.IsInstanceOf <CreateParams>(model.Params); var p = model.Params as CreateParams; Assert.AreEqual("Пиотр", p.Name); Assert.AreEqual("Зелёнкин", p.Value); }
public void StaticTest() { var model = ModelBinder.BindTo <StaticPartModel>(PARSER.Parse("/type=item", "/1=hello", "/2=7")); Assert.NotNull(model); Assert.AreEqual("item", model.Type); Assert.NotNull(model.Part); Assert.AreEqual("hello", model.Part.Property1); Assert.AreEqual(7, model.Part.Property2); Assert.NotNull(model.Part2); Assert.AreEqual("hello", model.Part2.Property1); Assert.AreEqual(7, model.Part2.Property2); Assert.NotNull(model.Part2.Nested); Assert.AreEqual("hello", model.Part2.Nested.Property1); Assert.AreEqual(7, model.Part2.Nested.Property2); }
/// <summary> /// Разбирает массив аргументов и привязывает его к объекту указанного типа. /// </summary> /// <typeparam name="TOptions">Тип объекта для привязки аргументов командной строки.</typeparam> /// <param name="args">Массив переданных аргументов.</param> TOptions ParseAndBindTo <TOptions>(params string[] args) where TOptions : new() { var cmdargs = parser.Parse(args); return(ModelBinder.BindTo <TOptions>(cmdargs, CultureInfo.InvariantCulture)); }