Why am I getting an Exception with the message “Invalid setup on a non-virtual (overridable in VB) member…”?

Moq cannot mock non-virtual methods and sealed classes. While running a test using mock object, MOQ actually creates an in-memory proxy type which inherits from your “XmlCupboardAccess” and overrides the behaviors that you have set up in the “SetUp” method. And as you know in C#, you can override something only if it is marked … Read more

How do you do a deep copy of an object in .NET? 

Important Note BinaryFormatter has been deprecated, and will no longer be available in .NET after November 2023. See BinaryFormatter Obsoletion Strategy I’ve seen a few different approaches to this, but I use a generic utility method as such: Notes: Your class MUST be marked as [Serializable] for this to work. Your source file must include the following code: using … Read more

Sequence contains more than one element

The problem is that you are using SingleOrDefault. This method will only succeed when the collections contains exactly 0 or 1 element. I believe you are looking for FirstOrDefault which will succeed no matter how many elements are in the collection.

How can I generate random alphanumeric strings?

I heard LINQ is the new black, so here’s my attempt using LINQ: (Note: The use of the Random class makes this unsuitable for anything security related, such as creating passwords or tokens. Use the RNGCryptoServiceProvider class if you need a strong random number generator.)

Is it possible to install a C# compiler without Visual Studio?

Sure, the framework includes a compiler, csc.exe. Look at this article for a quick how-to. The important parts: You can get the command-line compiler (csc.exe) from Microsoft site http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx. Download the redistributable package of the .NET Framework, which includes the compiler and the .NET Framework with C# 2005 syntax support. The compiler is located in the following directory: … Read more