C# 如何防止使用SetPixel方法?

C# 如何防止使用SetPixel方法?,c#,winforms,bitmap,C#,Winforms,Bitmap,我有课: class MyPic { private Bitmap bmp=null; public MyPic(Bitmap b) { bmp=b; } public Bitmap Bmp { get { return bmp; } } } 我制作了Bmp只读属性,但用户仍然可以使用SetPixel方法修改它。如何防止这种情况发生?您不仅可以调用SetPixel,还可以获取图形并在其上绘制

我有课:

class MyPic  
{  
    private Bitmap bmp=null;

    public MyPic(Bitmap b)
    {
          bmp=b;
    }

    public Bitmap Bmp
    {
        get { return bmp; }
    }
}

我制作了Bmp只读属性,但用户仍然可以使用
SetPixel
方法修改它。如何防止这种情况发生?

您不仅可以调用
SetPixel
,还可以获取图形并在其上绘制。位图在设计上是可变的。如果用户不能修改位图对您很重要,请在返回位图之前使用复制构造函数创建副本

位图ret=(位图)bmp.Clone()相同?之后我可以返回
ret
。谢谢:)