Having experienced first hand the mismatch between UML and programming languages, first by mapping UML to Java for a standard UML profile, and then by mapping UML to C# for a UML based modeling tool, I'm not convinced that these things can be done well with UML tools.

Have you tried modeling C# properties using UML? How about events? Did you find the results satisfying?

Have you tried putting a UML class diagram that talks aobut attributes and operations instead of fields and methods in front of a code oriented C# developer? What response did you get?