在 C# 中调用 .dll 文件中的方法
Calling methods inside .dll File in c#
我用 c# 创建了一个 DLL 文件,内容如下:
namespace GenerateMemo
{
class GenerateMemo
{
public MySqlConnection connection;
private string server;
private string port;
private string database;
private string uid;
private string password;
public void SqlConnect(string _server, string _port, string _database, string _uid, string _password)
{
string connectionString;
connectionString = "SERVER=" + _server + ";" + " PORT=" + _port + ";" + "DATABASE=" +
_database + ";" + "UID=" + _uid + ";" + "PASSWORD=" + _password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
}
public void sqlNonQueryN(string query)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
connection.Close();
}
}
而且我不知道如何在文件中调用这些方法。我正在使用 Visual Studio 并已将其作为参考导入。请告诉我如何使用我的 DLL 文件。我需要在另一个项目中使用这些方法。非常感谢。 :)
首先,您需要让您的 GenerateMemo
class public
在另一个程序集中使用它。现在是 internal
(class 的默认访问修饰符)。
然后,如果您已经将此 dll 添加为对项目的引用 - 基本上您需要创建 class 的实例并调用它的方法。
var memo = new GenerateMemo();
memo.SqlConnect(....)
等等。
并确保您已将 using GenerateMemo;
命名空间包含在您计划使用它的文件中。
更具可读性:
public class GenerateMemo
{
private MySqlConnection connection;
private string server, database, uid, password;
private uint port;
public GenerateMemo(string _server, uint _port, string _database, string _uid, string _password) //constructor
{
server = _server;
port = _port;
uid = _uid;
password = _password;
}
private void BuildConnection()
{
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.Server = server;
builder.Port = port;
builder.Database = database;
builder.UserID = uid;
builder.Password = password;
connection = new MySqlConnection(builder.ConnectionString);
}
public void sqlNonQueryN(string query)
{
if (connection == null)
{
BuildConnection();
}
connection.Open();
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
connection.Close();
}
}
我用 c# 创建了一个 DLL 文件,内容如下:
namespace GenerateMemo
{
class GenerateMemo
{
public MySqlConnection connection;
private string server;
private string port;
private string database;
private string uid;
private string password;
public void SqlConnect(string _server, string _port, string _database, string _uid, string _password)
{
string connectionString;
connectionString = "SERVER=" + _server + ";" + " PORT=" + _port + ";" + "DATABASE=" +
_database + ";" + "UID=" + _uid + ";" + "PASSWORD=" + _password + ";";
connection = new MySqlConnection(connectionString);
connection.Open();
}
public void sqlNonQueryN(string query)
{
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
connection.Close();
}
}
而且我不知道如何在文件中调用这些方法。我正在使用 Visual Studio 并已将其作为参考导入。请告诉我如何使用我的 DLL 文件。我需要在另一个项目中使用这些方法。非常感谢。 :)
首先,您需要让您的 GenerateMemo
class public
在另一个程序集中使用它。现在是 internal
(class 的默认访问修饰符)。
然后,如果您已经将此 dll 添加为对项目的引用 - 基本上您需要创建 class 的实例并调用它的方法。
var memo = new GenerateMemo();
memo.SqlConnect(....)
等等。
并确保您已将 using GenerateMemo;
命名空间包含在您计划使用它的文件中。
更具可读性:
public class GenerateMemo
{
private MySqlConnection connection;
private string server, database, uid, password;
private uint port;
public GenerateMemo(string _server, uint _port, string _database, string _uid, string _password) //constructor
{
server = _server;
port = _port;
uid = _uid;
password = _password;
}
private void BuildConnection()
{
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.Server = server;
builder.Port = port;
builder.Database = database;
builder.UserID = uid;
builder.Password = password;
connection = new MySqlConnection(builder.ConnectionString);
}
public void sqlNonQueryN(string query)
{
if (connection == null)
{
BuildConnection();
}
connection.Open();
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.ExecuteNonQuery();
connection.Close();
}
}