[英]'An object reference is required' error on a missing method
我有以下代碼:
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;
引發“類型Graphics
中不存在類型名稱MeasureString
”。 奇怪的是,當new
單詞不存在時,編譯器確實在Graphics
類(或其任何類) 中找到MeasureString
方法。
所以我的問題是,當編譯器找到該方法是靜態的並且初始化它的新實例時-找不到它。
您需要創建Graphics
對象的實例。 在WinForms中(這看起來像WinForms代碼):
var graphics = this.CreateGraphics();
...
offset = graphics.MeasureString(longest, F).Width;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.