0

我有一个对象,其中包含它保持最新的其他对象。如果我将这些子对象中的一个传递给另一个类的构造函数,这是否保留为指针,并且与正在更新的对象相同?

在下面的代码存根中,我使用了 EventDetails 对象。我不需要在 ResultsTreeViewEvent 中修改它。

EventDetails eventDetails = raceDay.GetEvent(meeting, race);
ResultsTreeViewEvent newEvent = new ResultsTreeViewEvent(meet.name, eventDetails, ref treeView, fullPage, true);


public class ResultsTreeViewEvent
{
    public EventDetails race = null;

    public ResultsTreeViewEvent(String aMeetingName, EventDetails aRace, ref TreeView aTreeView, Boolean aFullPage, Boolean aShowMultiLegResults)
    {
        race = aRace;
    }
4

1 回答 1

6

如果我将这些子对象中的一个传递给另一个类的构造函数,这是否保留为指针,并且与正在更新的对象相同?

好吧,它被保留为参考- 如果对象通过任何参考更新,这些更改确实可以通过其他参考看到,是的。你不需要为此使用ref。(目前尚不清楚您要尝试做什么aTreeView,但您几乎可以肯定不想要或不需要参考。)

引用和指针在某些方面非常相似,但又不相同。(C#确实有指针,在不安全的代码中,但你很少会使用它们。)

有关更多信息,请参阅我关于引用和值类型以及C#中的参数传递的文章。

于 2013-04-02T19:59:23.587 回答