I was wondering how to instance an arbitrary object based on its type name in VL for a while.
For now I offer this solution that uses the built-in Deserialize functionality, inspired by the arbitrary object spread demo in the VL Serialization help patch.
Although not perfect (any object you expect to instance has to be explicitly used in the patch (inspired by elias's LINK experience)), it's the closest solution I know of until this functionality gets native support. Is it better than Delegates with a Dictionary? You decide!
Any simplification tips appreciated.
Until next time!
nice to put this out there. I'll report back once I get to VL and dynamic instantiation again.
Is there a limitation of why Activator.CreateInstance wouldn't work in vl? at least it should work in script region https://docs.microsoft.com/en-us/dotnet/api/system.activator.createinstance?view=netframework-4.7.2
also for more reflection goodies check out fasterflect https://github.com/buunguyen/fasterflect ;)
CteateInstance should also work but maybe little tricky to know what values to feed for the arguments. Would be easier if a default ctor would be present in target code.
anonymous user login