Check out the link in my sig, it has C# code.
If your plugin needs a view (views are not required for plugins), personally I think its much easier to just write it straight for Virindi View System (VVS).
Decal Views are very slow and cause client crashes.
Virindi does offer a wrapper to convert decal views to virindi views but its quite complex. If you don't understand how interfaces work then really you're just copying/pasting and hoping all works.
Virindi Views are fast and stable and just about everyone runs them now.
The plugin in my link has code my plugin that uses only virindi views. I think its much easier to understand/follow.
Also, whatever view system you write, your plugin logic shouldn't depend on your view objects. Your view may or may not load, may crash, etc.. Your plugins functionality should work with or without views.
Code your logic and views separately. Then create a view manager object that takes one of your functional objects as a parameter, and your view object as a parameter. This new view manager has the responsibility of updating the view as well as updating your functional objects with user input from the view.
This is proper technique. If you're just learning though, you'll probably just reference your view directly from your logic objects, which for learning, is just fine.

You can refactor it later if you have OCD like me.