CSharpScript и динамические объекты

96
3

У меня есть небольшой движок сценариев в моем приложении, который может очень хорошо оценивать выражения, когда глобальный контекст содержит данные из базы данных (используя Dapper). например

Date.Format(Data.CreatedAt, "h:mm tt")

Однако, если данные передаются как динамический объект (из сообщения json в очереди), оценка завершается неудачно:

error CS0656: Missing compiler required member 

Контекст выглядит так:

public class ExpressionContext
{
public dynamic Data { get; private set; }

public ExpressionContext(dynamic data)
{
Data = data;
}
}

Если я изменю данные на объект, а не на динамический, я получу эту ошибку:

error CS1061: 'object' does not contain a definition for 'CreatedAt' 
and no accessible extension method 'CreatedAt' accepting a first argument
of type 'object' could be found (are you missing a using directive or an
assembly reference?)

что имеет больше смысла для меня.

Таким образом, кажется, что CSharpScript не способен оценивать динамические объекты - и все же DapperRow работает.

Я не совсем понимаю.

спросил(а) 2019-05-10T02:58:00+03:00 1 год, 4 месяца назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема