我有这个代码:
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;
Run Code Online (Sandbox Code Playgroud)
我得到一个
“非静态需要对象引用[...]”
方法错误Graphics.MeasureString,但使用:
offset = new Graphics.MeasureString(longest, F).Width;
Run Code Online (Sandbox Code Playgroud)
引发“类型名称MeasureString在类型中不存在Graphics”。奇怪的是,当该单词缺失时,编译器确实MeasureString在Graphics类(或其他任何东西)中找到了该方法。new
所以我的问题是,当编译器找到该方法时,它是静态的,并且在初始化它的新实例时 - 找不到它。
c# ×1