[英]How do I add common C# code to a Visual C# 2008 Express project/solution?
(在MS Visual環境中,我仍然感覺像是一個完全的新手……所以請耐心等待!)
我正在使用Microsoft Visual C#2008 Express Edition。
我有一個項目,該項目有兩種不同的形式。 每個表單的.cs文件開始:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyNameSpace
{
public partial class MyFormName : Form
{
...
(...第二個是“ MyFormName2”,但除此之外沒有區別)
我想編寫一個我知道兩種形式都需要訪問的函數。 我右鍵單擊項目,選擇“添加”,選擇“新建項目”,然后選擇“代碼文件”,並將文件命名為“ Common.cs”,這給了我項目中一個完全空白的文件。
我該如何設置...? 我以為我應該做以下事情...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Common;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MyNameSpace
{
}
...但是當我嘗試添加類似的功能時:
在該命名空間中,我的public void mytestfunc(){}出現以下錯誤:
“預期的類,委托,枚舉,接口或結構”
如何設置內容,以便MyFormName和MyFormName2都可以使用“ mytestfunc”?
謝謝!
-Adeena
更新:了解(現在)所有內容都必須在一個類中,但是后來我不明白如何真正使用它。 這是否意味着我必須創建一個對象? 這個共同的功能恰好只是一些數學...
所以現在如果我有這個:
namespace MyNameSpace
{
public class MyCommonClass
{
public void testFunc()
{
MessageBox.Show("Hee hee!");
return;
}
}
}
...如何從我的表格中調用testFunc? 我必須執行以下操作:
MyCommonClass temp = new MyCommonClass;
temp.testFunc();
還是有另一種方法來調用testFunc?
如果您執行以下操作:
namespace MyNameSpace
{
public class myclass
{
public myMethod()
{
// Code
}
}
}
您將能夠實例化並訪問它。 如果將其更改為:
namespace MyNameSpace
{
public class myclass
{
public static myMethod()
{
// Code
}
}
}
您將能夠調用myClass.myMethod而無需實例化新的myClass。
簡短的答案是,一切都必須放在一個類中; 我建議您坐下來學習基礎教程,以幫助您掌握基礎知識...
代碼必須在類內部。
它看起來像這樣:
using System;
namespace MyNameSpace
{
public class CommonHelper
{
public string FormatMyData(object obj)
{
//do something
return String.Empty;
}
}
}
如果您調用的函數與表格無關,則使其靜態
namespace myns
{
public static class myhelper
{
public static void DoSomething()
{
}
}
}
並使用myhelper.DoSomething();調用該方法;
如果您要調用的函數以某種方式與表單相關,例如跨多個表單的通用功能,請從Form派生一個類(不需要可視表單)並將其作為可視表單的基類:
namespace myns
{
public class MyFormBase : Form
{
protected void DoSomethingWithTheForm()
{
}
}
}
並在您的表單的.cs中:
namespace myns
{
public partial class MyFormName : MyFormBase
{
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.