Secure your data with ProtectedData and ProtectedMemory using C#

Microsoft OS (XP or later) and .NET provides finest way to secure your data for storage and in-memory. This can be accomplished using following classes from Data Protectection API ProtectedData ProtectedMemory Above mentioned classes can be found in System.Security.Cryptography namespace. Also known as part of DPAPI, they are…

Relay Command CanExecute() not working using MVVMLight Toolkit in WPF

WPF Application developers would be experiencing or would have observed that after updating MVVMLight Toolkit package to Version 5.0.0 or 5.0.1, RelayCommand - CanExecute() mechanism is not working anymore. This issue is been already reported by MVVMLight user on codeplex as Issue# 7659. As explained by…

Drag and drop files into your WPF application with MVVM

Drag and drop and one of the UI interaction every user loves to have. I gave it a whip in something I was playing with at home. There might be better ways to bring Drag N' Drop interaction in WPF application but I choose to use GongSolution for WPF Drag…

How to create application shortcut programmatically using C#

So someday you might need to create shortcut of or in your application programatically. Here is how you can do it: A shortcut is basically a LINK to the original file / executable that will be called when the link / shortcut is clicked. To create shortcut pro-grammatically, first you need add…

DebuggerDisplay in C# comes handy when debugging

One thing a developer does all the time is debugging code, very obvious. At times the value of property or output of a method you are interested in might be deep inside a class. While debugging you would frequently add them to quick watch window or pin (bookmark) them to…

Debug.Assert in C# is your friend

For all those important methods of your application where you would like to / have check an input parameter or output result for null / empty check. In case you don't want those checks while you release and only want them to be break into debug or pause while debugging - Debug.…

Multicasting and delegates in C#

One interesting feature of delegates in C# is that it provide ways to attach / detach more than one methods that has method signature similar to the delegate declared and combine them together. This combining or attaching / detaching of methods to a delegate is called Multicasting. Behind the scenes: This multicasting…