简体   繁体   English

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

[英]How to access a class declared inside another class without creating an instance?

I have a 'Table' class. 我有一个“表”课。 inside this class I have another class called 'Filter'. 在这个类中,我还有另一个名为“过滤器”的类。 I want to create an instance of Table and access Filter like this: 我想创建Table的实例并访问Filter,如下所示:

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

How should I declare Filter class? 我应该如何声明Filter类? I think its not a good idea to declare static because Filter must work on Table instance. 我认为声明静态不是一个好主意,因为Filter必须在Table实例上工作。 what should I do? 我该怎么办? This is my class: 这是我的课:

 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()));
            }
        }
    }

创建public class FilterTable和财产称为添加FilterTable ,如下所示:

public Filter Filter { get; set; }

Just make your class as a property of the table class 只需将您的类作为表类的属性

 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()));
                }
            }

and here your table class 这是你的餐桌课

public class Table : Database
        {

    public  Filter Filter  {get;set;}

    }
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()));
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM