如何在不创建实例的情况下访问在另一个类中声明的类?

时间:2014-01-13 12:41:00

标签: c# class

我有一个'Table'类。在这个类中我有另一个名为'Filter'的类。我想创建一个Table实例并访问Filter,如下所示:

Table t = new Table();
t.Filter.Add();

我应该如何声明Filter类?我认为声明静态不是一个好主意,因为Filter必须在Table实例上工作。我该怎么办? 这是我的班级:

 public class Table : Database
    {
        public class Filter 
        {
            private List<BaseClasses.DataTypes.FilterCondition> conditions = new List<BaseClasses.DataTypes.FilterCondition>();

            public void Add(string column, Int64 value)
            {
                conditions.Add(new BaseClasses.DataTypes.FilterCondition(column, "=", value.ToString()));
            }
        }
    }

3 个答案:

答案 0 :(得分:2)

public class Filter内创建Table并向Filter添加名为Table的属性,如下所示:

public Filter Filter { get; set; }

答案 1 :(得分:1)

只需将您的类作为表类的属性

 public class Filter 
            {
                private List<BaseClasses.DataTypes.FilterCondition> conditions = new List<BaseClasses.DataTypes.FilterCondition>();

                public void Add(string column, Int64 value)
                {
                    conditions.Add(new BaseClasses.DataTypes.FilterCondition(column, "=", value.ToString()));
                }
            }

这里是你的表类

public class Table : Database
        {

    public  Filter Filter  {get;set;}

    }

答案 2 :(得分:1)

public class Table : Database
{
    public Filter Filter 
    {
       get;set;
    }

    public Table()
    {
        Filter = new Filter();
    }

    public class Filter
    {
        private List conditions = new List();
        public void Add(string column, Int64 value)
        {
            conditions.Add(new BaseClasses.DataTypes.FilterCondition(column, "=", value.ToString()));
        }
    }
}