2016-09-29 65 views
-3

我想在VB中做这件事要容易得多,但是如何调用另一个类的方法呢?这是我有我的Sql.cs内:从单独的类到MainWindow.cs的调用方法

public static MainWindow MainWindow; 
public void FlLoadMembers() 
    { 
     SetConnection(); 
     SqlCon.Open(); 
     SqlCmd = SqlCon.CreateCommand(); 
     const string commandText = "select firstname, lastname from members"; 
     SqlAdapter = new SQLiteDataAdapter(commandText, SqlCon); 
     DsMembers.Reset(); 
     SqlAdapter.Fill(DsMembers); 
     DtMembers = DsMembers.Tables[0]; 
     MainWindow.lstPanelMembers.Items.Add(DtMembers); 
     SqlCon.Close(); 
    } 

试图把这个在MainWindow.cs

private MainWindow() 
    { 
     InitializeComponent(); 
     GetVersion(); 
     FlLoadMembers(); //This doesn't work apparently in C# 
    } 
+1

这真是编程的基本步骤,学会在谷歌搜索! – mybirthname

+1

您可能需要定义它的任何类的实例,或者它需要是一个静态方法,并且您必须在它之前指定类名称。 – juharr

+0

噢,好的。我正在寻找一种方法来保持干净的代码,并将我的代码分类为像Module这样的东西,但这些不在C#中。这就是为什么我按照原来的方式进行课堂设置的原因。 – RockGuitarist1

回答

2

FlLoadMembers()必须在class。您需要创建该类的对象,然后可以调用该函数。所以,如果你的函数FlLoadMembers()是在名为Class1类,那么你可以这样做:

Class1 obj = new Class1(); //Creating the object. 
obj.FlLoadMembers();//Calling the function. 

希望它可以帮助你。

+0

所以你在说什么可能是最好把这些方法放在他们自己的类中,并相应地调用它们?我习惯于在VB中使用模块,这就是为什么我认为这将工作大声笑。 – RockGuitarist1

+0

如果你想共享一个函数的副本,你可以将它标记为'static',然后你不需要创建访问该对象的对象。它会给你一个VB模块的感觉。 – vivek

+0

好的,这使得它更容易。谢谢! :) – RockGuitarist1