I'm trying to derive my own class from System.Drawing.Image which represents a bitmap stored in a DirectDraw offscreen surface.

But when I compile it gives me the error
'System.Drawing.Image.Image()' is inaccessible due to its protection level
for every constructor of my class.

Now I would normally guess that this means the constructor is protected, internal or private. But:
It can't be protected, my derived class would have access to it.
It can't be private, else no class could be derived from Image (there's no friend keyword in C#, right?).
It can't be internal, because a) I placed my image class in System.Drawing and b) System.Drawing.Imaging.Metafile is derived from Image and has access.

Why does it deny me the access? How can I solve this problem?

Code:
public class DdImage : System.Drawing.Image
{
	//...
	public new int Flags
	{
		get
		{
			return 0;
		}
	}

	public new Guid[] FrameDimensionsList
	{
		get
		{
			return null;
		}
	}
	// etc.
}