我想使用管理数据库表的工具创建类。但我需要以某种方式将表名从数据类发送回工具类。我设法在非静态环境中完成这项工作,但我还需要在静态函数中完成这项工作。
我做了一些谷歌搜索,但我没有发现任何帮助。
使用示例:
呼叫者
User.Delete(1);
工具类
public class DBTools
{
public static string table_name = "NULL";
public static void Delete(int id)
{
Console.WriteLine(table_name);
}
...
}
数据类
public class User : DBTools
{
public new static string table_name = "users";
...
}
答案 0 :(得分:4)
一种选择是在从Delete()
派生的任何类中创建DBTools
方法,并让它简单地调用基类的Delete()
方法(可能仍然做所有繁重的工作并传递正确的表名。
public class DBTools
{
public string table_name = "NULL";
public void Delete(string table_name, int id)
{
Console.WriteLine(table_name);
// whatever work is required for the given table name
}
}
public class User : DBTools
{
public string table_name = "users";
public void Delete(int id)
{
Delete(table_name, id);
}
}