我相信這個問題已經得到了回答,但經過一個小時的不斷搜索,我仍然很困惑。
我正在學習C#並習慣了事情的工作方式,但讓我感到困惑的一件事是如何讓對象創建的方法可用於其他方法。
我正在開發一些可以完成圖像工作的應用程序。我想在表單加載時創建程序使用的對象,然後用另一種方法對其進行更改。看起來很簡單。下面的代碼的裸位:學習C#和方法內的對象令我困惑
private void Form1_Load(object sender, EventArgs e)
{
InitializeBMPObjects();
}
public void InitializeBMPObjects()
{
Bitmap Bmp1 = new Bitmap(320, 226);
}
public void pushPixels()
{
Graphics g = Graphics.FromImage(Bmp1);
//Do some graphics stuff....
}
我想創建位圖對象「BMP-1」,那麼我想pushPixels()來修改該對象。
問題是,方法pushpixels抱怨,因爲「名稱'bmp1'不存在於當前的上下文中」
我相信問題基本上在這裏範圍。對象Bmp1只存在於方法InitializeBMPObjects的範圍內。但是如果我想在表單加載上創建一堆對象呢?我應該在方法之外創建對象嗎?或者我需要以某種方式將這些標記爲全局對象?
謝謝。
你應該閱讀有關[適用範圍](http://msdn.microsoft.com/en-us/library/aa691132(V = vs.71)。 aspx) – xdumaine 2013-02-11 23:37:45
您可以將這些對象作爲[*結果值*的方法](http://msdn.microsoft.com/en-us/library/ms173114.aspx)返回以從其他地方的方法本地作用域中獲取它們,或將它們存儲在[* fields *](http://msdn.microsoft.com/en-us/library/ms173118.aspx)中,以使它們可用於對象的所有方法。 (一般來說,如果您遇到這樣的基本問題,我建議您閱讀整個C#編程指南或其他介紹性文章。) – millimoose 2013-02-11 23:38:54