示例#1
0
 public override object ConvertFrom(ITypeDescriptorContext?context, CultureInfo?culture, object value)
 {
     if (value is string s)
     {
         // ReSharper disable once HeapView.BoxingAllocation
         return(Moment.Parse(s));
     }
     return(base.ConvertFrom(context, culture, value) !);
 }
示例#2
0
    public Task BindModelAsync(ModelBindingContext bindingContext)
    {
        if (bindingContext == null)
        {
            throw new ArgumentNullException(nameof(bindingContext));
        }

        try {
            var sValue = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).FirstValue ?? "";
            var result = Moment.Parse(sValue);
            bindingContext.Result = ModelBindingResult.Success(result);
        }
        catch (Exception) {
            bindingContext.Result = ModelBindingResult.Failed();
        }
        return(Task.CompletedTask);
    }
示例#3
0
 public void Parse()
 {
     Assert.AreEqual(Moment.NewtonMetre, Moment.Parse("1 N*m"));
 }
示例#4
0
 public void Parse()
 {
     AssertAreEqual(Moment.NewtonMetre, Moment.Parse("1 N*m"));
     AssertAreEqual(Moment.KilonewtonMetre, Moment.Parse("1 kN*m"));
 }