【发布时间】:2019-01-23 12:57:58
【问题描述】:
在 ASP.NET Core 项目中,我有以下操作:
public async Task<IActionResult> Get(ProductModel model) {
}
public class ProductModel {
public Filter<Double> Price { get; set; }
}
我有一个 Filter 基类和一个 RangeFilter,如下所示:
public class Filter<T> { }
public class RangeFilter<T> : Filter<T> {
public abstract Boolean TryParse(String value, out Filter<T> filter);
}
我将字符串 ("[3.34;18.75]") 作为价格传递给操作。
我需要创建一个ModelBinder,在其中使用TryParse 方法尝试将String 转换为RangeFilter<Double> 以定义ProductModel.Price 属性。
如果TryParse 失败,例如返回false,则ProductModel.Price 属性变为空。
如何做到这一点?
【问题讨论】:
标签: c# asp.net-core