by Mike.Sheen » Tue Nov 26, 2019 6:35 pm
Ok, so I see the use case now.
You're probably aware of Assembly.GetExecutingAssembly().Location which you could use inside plugins to determine the .exe name and folder the plugin got invoked from - you can use that inside plugins to make decisions about what code paths to take.
The problem then is if you don't "own" the plugin you want to alter the behaviour for, as changing the code in other authors plugins is fraught with danger - most obviously it might get updated at some point and your code changes lost. You also don't want to be the one left holding any liability if something goes wrong relating to that plugin and you were the last to touch it.
This is also difficult for us to build in something natively which suits all scenarios. We could add a couple of simple properties to the Manager object which are just lists of plugin names or ID's to exclude or include, which you as a 3rd party developer could add to after instantiating the Manager - but the scenarios that doesn't quite fit is when you want to exclude some of the logic, not all, from a particular plugin from executing.
What do you think about the concept of two list properties - an inclusion list and exclusion list - that you would need to explicitly add to after instantiating a Manager?
Mike Sheen
Chief Software Engineer
Jiwa Financials
If I do answer your question to your satisfaction, please mark it as the post solving the topic so others with the same issue can readily identify the solution