C# 访问静态成员是否调用基类构造函数?

C# 访问静态成员是否调用基类构造函数?,c#,.net,entity-framework,garbage-collection,clr,C#,.net,Entity Framework,Garbage Collection,Clr,即使所有的常识都说不,我还是问这个问题,只是为了得到第二个意见,并变得确定 如果我有这样的类层次结构: public class IntermediateObjectContext : System.Data.Objects.ObjectContext { public static Action<string> PrintHello { get; set; } } public class MyDatabaseContext : IntermediateObjectCon

即使所有的常识都说不,我还是问这个问题,只是为了得到第二个意见,并变得确定

如果我有这样的类层次结构:

public class IntermediateObjectContext : System.Data.Objects.ObjectContext
{
    public static Action<string> PrintHello { get; set; }
}

public class MyDatabaseContext : IntermediateObjectContext
{
    public ObjectSet<Foo> Foos
    {
      get { // ... }
    }
}
所有的理由都说不会,常识说不会,但我只是想确定一下。我正试图找到一个占用内存的对象

如果

如果我有一些类类型的静态集合,比如:

public class SomeClassCollection
{
    private static Collection<SomeClass> _col = 
                new Collection<SomeClass>();

    public void Add(SomeClass c) { _col.Add(c); }

    public void Remove(SomeClass c) { _col.Remove(c); }
}
(1) 不,它不会实例化对象

(2) 如果:

在那里,它将在第一次访问
SomeClassCollection
的任何成员时分配空集合
col

从代码来看,这就是它所能做的。您没有在显示的代码中的任何位置使用
\u col

(1)不,它不会实例化对象

(2) 如果:

在那里,它将在第一次访问
SomeClassCollection
的任何成员时分配空集合
col

从代码来看,这就是它所能做的。您没有在显示的代码中的任何位置使用
\u col

(1)不,它不会实例化对象

(2) 如果:

在那里,它将在第一次访问
SomeClassCollection
的任何成员时分配空集合
col

从代码来看,这就是它所能做的。您没有在显示的代码中的任何位置使用
\u col

(1)不,它不会实例化对象

(2) 如果:

在那里,它将在第一次访问
SomeClassCollection
的任何成员时分配空集合
col


从代码来看,这就是它所能做的。您没有在显示的代码中的任何地方使用
\u col

谢谢。请让我澄清这个问题。我忘了添加我确实要添加的
SomeClass
类型实例到_列中的位。我之所以留下它,是因为我认为它很明显。@WaterCoolerv2好的,所以(2)将是相同的(忘了提到调用类构造函数算作被访问类的一个成员)。谢谢,@MatthewWatson。我最大的担心是:这些都会无意中实例化对象上下文,因为我的数据库有1200多个表,其中一些表的记录超过400万条。看起来不会,但我只是想确认一下,因为代码中出现了一些错误,占用了大量内存。谢谢。请让我澄清这个问题。我忘了添加我确实要添加的
SomeClass
类型实例到_列中的位。我之所以留下它,是因为我认为它很明显。@WaterCoolerv2好的,所以(2)将是相同的(忘了提到调用类构造函数算作被访问类的一个成员)。谢谢,@MatthewWatson。我最大的担心是:这些都会无意中实例化对象上下文,因为我的数据库有1200多个表,其中一些表的记录超过400万条。看起来不会,但我只是想确认一下,因为代码中出现了一些错误,占用了大量内存。谢谢。请让我澄清这个问题。我忘了添加我确实要添加的
SomeClass
类型实例到_列中的位。我之所以留下它,是因为我认为它很明显。@WaterCoolerv2好的,所以(2)将是相同的(忘了提到调用类构造函数算作被访问类的一个成员)。谢谢,@MatthewWatson。我最大的担心是:这些都会无意中实例化对象上下文,因为我的数据库有1200多个表,其中一些表的记录超过400万条。看起来不会,但我只是想确认一下,因为代码中出现了一些错误,占用了大量内存。谢谢。请让我澄清这个问题。我忘了添加我确实要添加的
SomeClass
类型实例到_列中的位。我之所以留下它,是因为我认为它很明显。@WaterCoolerv2好的,所以(2)将是相同的(忘了提到调用类构造函数算作被访问类的一个成员)。谢谢,@MatthewWatson。我最大的担心是:这些都会无意中实例化对象上下文,因为我的数据库有1200多个表,其中一些表的记录超过400万条。看起来不会,但我只是想确认一下,因为在使用大量内存的代码中发生了错误。
public class SomeClassCollection
{
    private static Collection<SomeClass> _col = 
                new Collection<SomeClass>();

    public void Add(SomeClass c) { _col.Add(c); }

    public void Remove(SomeClass c) { _col.Remove(c); }
}
public SomeClassCollectionConfig
{
    public static RegisterSomeClasses()
    {
        SomeClassCollection.Add(new SomeClass());

        SomeClassCollection.Add(new DerivesClassOfSomeClass());
    }
}