簡體   English   中英

缺少方法時出現“需要對象引用”錯誤

[英]'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM