Don't know the conventions here, but based on the FX design guideline, we should throw argument exception. http://msdn.microsoft.com/en-us/library/ms229007(v=vs.110).aspx
InvalidOperationException is used for when object is in an inappropriate state