mono/MonoGame — pull request #1985 by tomspilman (2013-09-10 10:26:47+00:00)
Title: NotImplementedException Cleanup

This PR is largely cleanup of stub methods that provide no implementation and only throw the `NotImplementedException`. These methods fool people into thinking that their port works at compile time, only to find exceptions at runtime. See #1978.

I cleaned up `NotImplementedException`s in two ways:

- Methods that purely had no implementation on any platform were commented out.
- Fixed cases where a `NotImplementedException` was incorrectly used to defined an unexpected case in a switch statement. We use `NotSupportedException` or `ArgumentException` where appropriate.

There are cases where the unimplemented code is in the middle of a larger statement, I left these alone. Also places where the `NotImplementedException` occurred in an overridden method were left in as well.

I left the new content pipeline code alone... it has a lot of `NotImplementedException`s, but it is still in heavy development.

While I was at it I implemented a few unimplemented methods that i came across and knew the right fix.

- GraphicsDeviceManager.BeginDraw()/EndDraw()
- DisplayModeCollection.GetEnumerator()
- EffectParameter.GetValueMatrixArray()
- EffectParameter.GetValueTextureCube()
- EffectParameter.SetValue(Quaternion)
- EffectParameter.GetValueQuaternion()

None of this changed existing functionality, so it should be safe to merge if all the platforms successfully compile.