Obiekt dynamiczny i refleksja

0

Mam obiekt dynamiczny dziedziczący po DynamicObject. Kod zewnętrzny odwołuje się do mojego obiektu przez refleksję. Czy możliwe jest, aby coś takiego (kod zewnętrzny):

var imie = typeof(DynamicDictionary).GetTypeInfo().GetProperty("Imie");
Console.WriteLine(imie.GetMethod.Invoke(o1, null));

widziało moją dynamiczną właściwość? Mam słownik podobny do tego (mój kod):

public class DynamicDictionary : DynamicObject {
  Dictionary<string, object> 
    _dictionary = new Dictionary<string, object>();

  public override bool TrySetMember(SetMemberBinder binder, object value) {
    _dictionary[binder.Name] = value;
    return true;
  }

  public override bool TryGetMember(GetMemberBinder binder, 
      out object result) {
    return _dictionary.TryGetValue(binder.Name, out result);
  }
}

Chicałbym go używać w ten sposób

dynamic dict = new DynamicDictionary();
dict.Imie = "Marian";

Nie ma możliwości zmiany kodu zewnętrznego. Jedyne możliwe zmiany są w moim kodzie.

0

Nie o1, a imie w pierwszym kodzie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1