C# 实例化对象但不存储对其的引用

C# 实例化对象但不存储对其的引用,c#,C#,在我们的代码中,我们有这样的东西 new MyClass(myProvider); 我们没有捕获对所创建类的引用,所以我想知道重点是什么。当然,当Initalise方法返回时,它将不会被引用,因此GC'd 谢谢未被引用的内容将被公平地引用。但你不知道什么时候 也许构造器以某种方式向提供者注册了它,强制提供程序保留引用?也许他们希望myClass完成他的工作,但他们不想在以后对对象做任何事情?myClass构造函数中的代码将被执行。在我们知道构造函数调用中的内容之前,没有可能的答案。@Chris

在我们的代码中,我们有这样的东西

new MyClass(myProvider);
我们没有捕获对所创建类的引用,所以我想知道重点是什么。当然,当Initalise方法返回时,它将不会被引用,因此GC'd


谢谢

未被引用的内容将被公平地引用。但你不知道什么时候


也许构造器以某种方式向提供者注册了它,强制提供程序保留引用?

也许他们希望myClass完成他的工作,但他们不想在以后对对象做任何事情?myClass构造函数中的代码将被执行。在我们知道构造函数调用中的内容之前,没有可能的答案。@Christopher:你没有错。我只是说myClass可以完成一项工作,比如写数据,然后你就不想再使用那个对象了!看起来类MyClass应该被重构,因为要么代码没用,要么构造函数做了比它应该做的更多的事情。或者应该执行一个静态构造函数。但是它属于一个公共静态方法。我在发布了它之后才意识到它是什么。我们使用了一个服务定位器模式,它可以自我注册-奇妙的模式。@Cueball然后我可以回应另一个海报:这需要重构。以防你还不确定: