whats the point though? they all load in exactly the same way from Bitmap, no advantages / disadvantages from what you can do with them - just use the Bitmap class, or if you have to public enum ImageType { JPG = 0; PNG = 1; etc } class Image { public bitmap itsBitmap; public ImageType itsFormat; }