Невозможно преобразовать тип System.Dynamic.ExpandoObject - проблема с ImpromptuInterface
Я получаю следующую ошибку:
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'Cannot convert type 'System.Dynamic.ExpandoObject' to 'IMyApiInterface''
При попытке заброса утки:
internal static T Create<T>()
{
dynamic api = new ExpandoObject();
var clientType = typeof(T);
return Impromptu.ActLike((T)api, clientType);
}
Интерфейс:
public interface IMyApiInterface
{
[ActionApi("{field1}")]
MyObject Get(string field1);
[ActionApi("", ActionType.Post)]
MyObject Post([RequestBody] MyObject obj);
[ActionApi("", ActionType.Put)]
MyObject Put([RequestBody] MyObject obj);
}
Телефонный код:
_apiInstance.Api<IMyApiInterface>().Post(myObject)
... где
_apiInstance.Api
звонки на статический
Create<T>
метод, показанный выше.
Использование ImpromptuInterface.dll v7.0.1 (последняя версия от NuGet).