sharpshell
sharpshell copied to clipboard
rfc other methods to create context menu items
Version of SharpShell used: 2.x.y
Related type(s) of SharpShell-Server: SharpContextMenu
Hey there, this is a request for comment, requesting everyones oppinion. Also, it is a new feature/improvement, which doesn't have a very high priority right now, just wanted to write it down as it might proof useful in the future.
I've have been reading a bit microsoft docs lately and found this article very interesting. Basically, Microsoft discourages the use of IContextMenu and encourages the use of "static verbs" or "other dynamic verb methods".
They say you shouldn't use IContextMenu because it's over-powered and complicated and there are easier/leightweight options:
- static CreateProcess
- static IDropTarget
- static IExecuteCommand
- static IExplorerCommand
- dynamic Advanced Query Syntax + static verb
- IExplorerCommand
- IExplorerCommandState + static verb
First: Maybe SharpShell could provide multiple options to build SharpContextMenu or decide dynamically which option to chose (for registration mainly) to have the least impact. Of course, we should keep in mind not to make it complicated for new projects/beginners.
Second: The docs and examples could highlight even more of these best practice for SharpContextMenu (dos and don'ts).
These two steps could help improve optimizing the ContextMenu if an over-powered IContextMenu isn't really needed.