Czy ktoś może mi powiedzieć, jak zadeklarować funkcję globalną w języku C#, podobne do tego, co robi Module
w VB.net? Muszę wywołać funkcję, która może być wywoływana w moim formularzu1, formularzu2 i formularzu3.jak zadeklarować globalną funkcję lub metodę za pomocą C#?
mam ten kod:
using System.Data.OleDb;
namespace XYZ
{
public static class Module
{
public static void dbConnection()
{
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=..\\dbCooperative.mdb";
con.Open();
}
}
}
i Form1:
using System.Data.OleDb;
using XYZ;
namespace XYZ
{
public partial class frmReports : Form
{
public frm1()
{
InitializeComponent();
}
private void frm1_Load(object sender, EventArgs e)
{
Module.dbConnection();
OleDbCommand cm = new OleDbCommand("SELECT * FROM table", con);
}
}
}
ale wystąpił błąd: "Nazwa 'con' nie istnieje w bieżącym kontekście".
Nie ma żadnych globalnych funkcji w języku C#, ale można wprowadzić globalnie dostępne metody w swojej aplikacji. – kol
Mimo że są obsługiwane przez CLR, samo C# nie obsługuje "funkcji globalnych". O ile wiem, jeśli chcesz je wywołać, musisz napisać tę logikę w VB (lub innym języku, który je obsługuje) lub zmodyfikować skompilowaną IL samodzielnie. W twoim przypadku wystarczą sugestie dotyczące używania klasy statycznej. –