缺少方法时出现“需要对象引用”错误

时间:2016-05-10 20:16:31

标签: c#

我有这段代码:

display:inline-block;

我得到了

  

“非静态[...]”

需要对象引用
<{1}}方法上的

错误,但使用:

using System.Drawing;

int offset;
string longest = "";
Font F = new Font("Microsoft Sans Serif", 8, FontStyle.Regular);
list.Aggregate("", (max, cur) => max.Length > cur.Length ? longest = max : longest = cur);
offset = Graphics.MeasureString(longest, F).Width;

引发“Graphics.MeasureString类型中不存在类型名称offset = new Graphics.MeasureString(longest, F).Width; ”。奇怪的是,当MeasureString字是绝对的时,编译器 Graphics类(或其他任何类)中找到MeasureString方法。

所以我的问题是,当编译器找到方法时它是静态的,并且在初始化它的新实例时 - 它无法找到。

1 个答案:

答案 0 :(得分:4)

您需要创建Graphics对象的实例。在WinForms中(这看起来像WinForms代码):

var graphics = this.CreateGraphics();
...
offset = graphics.MeasureString(longest, F).Width;