У меня есть класс, как показано нижеВыражение C# - значение Getdefault или преобразование int? в целом
public class GrouppedStockGift
{
public DateTime? TimeCreated { get; set; }
public int? StoreID { get; set; }
public int? UserCreated { get; set; }
public int? WorksID { get; set; }
public int? WorkOrderCode { get; set; }
public decimal? GiftPrice { get; set; }
public decimal? GiftMoney { get; set; }
public int SaleCount { get; set; }
}
У меня Создание динамического построителя выражений, в некоторых случаях мне нужно convert int? to int
или getdefaultvalue
ИНТА, например
var sumMethodint = typeof(Enumerable).GetMethods()
.Single(x => x.Name == "Sum"
&& x.GetParameters().Count() == 2
&& x.GetParameters()[1]
.ParameterType
.GetGenericArguments()[1] == typeof(int?));
sumMethodint = sumMethodint.MakeGenericMethod(typeof(GrouppedStockGift));
Expression<Func<GrouppedStockGift, int?>> SaleCount = y => y.SaleCount;
var SaleCountExtractor = Expression.Call(sumMethodint, parameter, SaleCount);
bindings.Add(
Expression.Bind(
typeof(GrouppedStockGift).GetProperty("SaleCount"),
SaleCountExtractor));
но когда выполнить последнюю строку Исключение возвращено вокруг типа mismached
, потому что SaleCount
is int, но сумма метод return int?
Может ли кто-нибудь мне помочь?
@HamletHakobyan это не сработало –
Хорошо, проблема в вашей привязке? Вы должны показать точное исключение с трассировкой стека, если это возможно для лучшей помощи. –