public void Save(string file) { string extension = Path.GetExtension(file); byte[] data = null; switch (extension.ToLower()) { case ".bmp": data = BMP.Encode(this); break; case ".png": data = PNG.Encode(this); break; default: Debug.Assert(false, "Image file extension not supported: {0}", extension); break; } File.WriteAllBytes(file, data); }