首先,我是 C# 编程的新手。
我读取了
的参数ImageObj.getBounds(ref GraphicsUnit unit);
当我尝试这个时,
ImageObj.getBounds(ref GraphicsUnit.Pixel);
我仍然遇到错误。但这似乎工作得很好。
GraphicsUnit u = GraphicsUnit.Pixel;
ImageObj.getBounds(ref u);
两者有什么区别,第一个怎么错的?谢谢。
最佳答案
GraphicsUnit.Pixel
是一个属性,您不能在 C# 中使用 ref
/out
参数传递属性。这是因为 ref
/out
就像其他语言中指向指针的指针,但属性不是变量 - 它是 2 个方法:getter 和 setter,所以,你不能传递一个指向值指针的指针,因为你没有给它自己赋值。
添加:
好的,GraphicsUnit.Pixel
实际上是一个 enum
成员 - 你也不能通过 ref
/out
传递它参数,因为它是一个常量。
关于c# - C# 中的 ref 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007336/