You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using this it's possible to implement all required functionality in a separate DLR meta-class. I've already tried to do this in Python but sadly the .NET types (or their representation in Python-space) are not patchable.
The implementation of the member access is done by basically translating the code that the C# compiler produces when accessing dynamic properties to Python.
Note: Strictly speaking this does not implement full support, as it only helps classes that derive from DynamicObject, not those that only implement IDynamicMetaObjectProvider.
My particular use case is a configuration library that allows for constructs like:
string proxy = c.proxy.http;
where c is a dynamic object of which the members are implicitly created by reading from the config. It allows us to pass partial configuration around easily and reduces string-littering.
Activity
filmor commentedon Apr 20, 2015
Indeed I have now found a way around this, check out this gist: https://gist.github.com/filmor/58f5099f96570c64b1d3
The implementation of the member access is done by basically translating the code that the C# compiler produces when accessing dynamic properties to Python.
Note: Strictly speaking this does not implement full support, as it only helps classes that derive from
DynamicObject, not those that only implementIDynamicMetaObjectProvider.den-run-ai commentedon Apr 15, 2016
@filmor what is the use case for exposing DLR types in python?
filmor commentedon Apr 15, 2016
My particular use case is a configuration library that allows for constructs like:
where
cis a dynamic object of which the members are implicitly created by reading from the config. It allows us to pass partial configuration around easily and reduces string-littering.den-run-ai commentedon Jun 13, 2016
@filmor can this be used to access dynamic attributes of COM objects? if yes, can you provide minimal example?
den-run-ai commentedon Sep 6, 2016
@filmor here is my first attempt at using com objects from pythonnet:
https://gist.github.com/denfromufa/ec559b5af41060c5ac318f7f59d8b415#file-excel_interop_vsto-ipynb
den-run-ai commentedon Jul 5, 2017
@filmor how would you add support for IDynamicMetaObjectProvider?
den-run-ai commentedon Jul 5, 2017
This looks really powerful library:
https://github.com/ekonbenefits/dynamitey/wiki/UsageReallyLateBinding