向父类提供静态变量

时间:2016-01-16 20:27:30

标签: c# database

我想使用管理数据库表的工具创建类。但我需要以某种方式将表名从数据类发送回工具类。我设法在非静态环境中完成这项工作,但我还需要在静态函数中完成这项工作。

我做了一些谷歌搜索,但我没有发现任何帮助。

使用示例:

呼叫者

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";
    ...
}

1 个答案:

答案 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);
    }
}