Кажется, вы хотите сделать быстрый доступ к свойствам объекта по его имени без отражения во время выполнения.
Используя Yappi и его класс Property <>, вы можете реализовать данный интерфейс следующим образом:
class GeneratedObject : IObject
{
public string Value { get { return "Test"; } }
public T Get<T>(string propertyName)
{
return Property<GeneratedObject>.Get<T>(this,propertyName);
}
}
, а затем используйте его так:
IObject obj = new GeneratedObject();
var value = obj.Get<String>("Value"); //value contains "Test"
Вам все еще нужны IObject и конструкция динамического типа?