在属性中传递ref类型,C#是通过值还是ref传递

Spo*_*010 1 c# pass-by-reference

使用c#,vs2008,winforms

如果我通过属性将参数从父表单传递给子表单,或者通过属性传递给任何类,并且通过C#传递的参数是在父表单中创建的引用类型,它是否传递为一个ref或默认值?

例如,如果我通过属性传递数据集.如果它确实通过值传递,你可以通过属性传递给它吗?或者我应该通过方法参数传递它,这是更好的做法吗?

Basicaly我想要将一个填充的对象检索回父窗体,并且感觉通过ref传递一个在父窗体中创建的对象更好.

Ces*_*Gon 5

对于引用类型,通过值传递对变量的引用.当然,除非您使用C#中的refout关键字来改变该行为.

这意味着DataSet值属性实际上传递了对DataSet实例的引用,并按值传递它.

Jon Skeet的"C#in Depth"在这些问题上是一个很好的参考(没有双关语).