A possibility is suggest by intelligence the value possibilities detected by a code-contract propagation engine as the https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/3330248-provide-code-constracts-editor-extension-for-vs201 suggestion.
This is the link to vote to the C sharp contract extension referenced by Felix, in the previous comment for this suggestion : https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/3330248-provide-code-constracts-editor-extension-for-vs201
"Felix commented · May 23, 2016 20:24 · Flag as inappropriate
Actually, this feature exists in .Net and his name is Code constracts for Visual Studio or C# extension called Spec#. For this validations, it's a best way. I think if you use the CbD's library, your code could be ugly. Then, I suggest add Spec# core into C#.
In the way, it can be interesting to search on the possibility to define the thread which used to execute the event, if it isn't the same.
Thank you for using Visual Studio and for your commitment to improving it. We are actively evaluating whether we will be able to bring this suggestion into the product for .NET developers for the System.NullReferenceException in a future release.
We have recently made an improvement, similar to this suggestion, for debugging C++ Access Violations in Visual Studio 2015 Update 1.
Read about it here: http://blogs.msdn.com/b/visualstudioalm/archive/2015/10/29/improvement-to-debugging-c-access-violations-in-visual-studio-2015-update-1.aspx
We encourage you to continue to comment on and vote for this UserVoice item to share any additional feedback that you have for this suggestion.
Visual Studio Diagnostics
I think we can't go very far only with descriptor parameters and we want. The must is to have the same thing as a DataColumn object for each row value but for all rows, and add some lambda expressions on some event handlers, but By Code !
An idea is to allow to write ourself our binary operators. Here, it's interesting to use a string-named operator.
By sample :
Public Operator From Priority 250 (Byval vRightExpression As MyRightExpression, Byval vLeftExpression As MyLeftExpression) As MyFromExpression
It seems to the very old Spectrum Basic and ZX Basic :
Dim a$ as string
a$ = "1B345"
Print a$(2 To 3)
But it was a thing interesting to go to the end too :
Print a$(To 3)
b$ = a$(3 To)