C# 使用反射创建实例-这些方法有何不同?

C# 使用反射创建实例-这些方法有何不同?,c#,.net,reflection,C#,.net,Reflection,在进行C#Reflections时,我遇到了以下方法: 1. 2. 我的问题是: 1.“包裹和展开”是什么意思? 2.这两种方法有何不同? 3.第一种方法强制用户展开对象。为什么?展开对象句柄有很大的副作用,它会将包含对象类型的程序集加载到进行此调用的appdomain中。如果程序员的意图是将程序集隔离在另一个appdomain中,那么这并不总是可取的。因此,你必须明确地表达出来。@HansPassant好的,但是包装/展开到底意味着什么呢?如果你需要一个心理模型,那么就把它和拳击比较一下。

在进行C#Reflections时,我遇到了以下方法:
1.
2.

我的问题是:
1.“包裹和展开”是什么意思?
2.这两种方法有何不同?

3.第一种方法强制用户展开对象。为什么?

展开对象句柄有很大的副作用,它会将包含对象类型的程序集加载到进行此调用的appdomain中。如果程序员的意图是将程序集隔离在另一个appdomain中,那么这并不总是可取的。因此,你必须明确地表达出来。@HansPassant好的,但是包装/展开到底意味着什么呢?如果你需要一个心理模型,那么就把它和拳击比较一下。但对于远程创建的对象。包装类似于装箱,将引用或值强制转换为System.Object。展开就像拆箱一样,将系统对象转换回其原始类型。所以ObjectHandle相当于Object的远程处理,但是在解除绑定时要做很多工作。@HansPassant现在我明白了。非常感谢!!展开对象句柄有很大的副作用,它会将包含对象类型的程序集加载到进行此调用的appdomain中。如果程序员的意图是将程序集隔离在另一个appdomain中,那么这并不总是可取的。因此,你必须明确地表达出来。@HansPassant好的,但是包装/展开到底意味着什么呢?如果你需要一个心理模型,那么就把它和拳击比较一下。但对于远程创建的对象。包装类似于装箱,将引用或值强制转换为System.Object。展开就像拆箱一样,将系统对象转换回其原始类型。所以ObjectHandle相当于Object的远程处理,但是在解除绑定时要做很多工作。@HansPassant现在我明白了。非常感谢!!