使用 c#、vs2008、winforms
如果我通过属性将参数从父窗体传递给子窗体,或者实际上通过属性传递给任何类,并且在 C# 中传递的参数是在父窗体中创建的引用类型,
默认情况下它会作为 ref 或 value 传递吗?
例如,如果我通过属性传递数据集。
如果它确实是按值传递的,你可以让它通过 ref 通过属性传递吗?
还是我应该通过方法参数传递它,这是更好的做法吗?
基本上我想将填充的对象检索回父表单,并感觉通过 ref 传递在父表单中创建的对象会更好。
最佳答案
对于引用类型,对变量的引用是按值传递的。当然,除非您使用 ref
或 out
C# 中的关键字来改变这种行为。
这意味着 DataSet 值属性实际上传递了对 DataSet 实例的引用,并按值传递它。
Jon Skeet's "C# in Depth"在这些问题上是一个很好的引用(没有双关语)。
关于c# - 在属性中传递 ref 类型,C# 是按值传递还是 ref 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2331466/