我如何调用MemberwiseClone()?

我对如何使用MemberwiseClone()方法感到困惑。 我查看了MSDN中的示例,他们通过this关键字使用它。

为什么我不能像其他对象的方法一样直接调用它,如GetType()ToString() ? 另一个没有出现的相关方法是ShallowCopy()

如果它们是Object类的一部分,为什么我不能看到它们?

MemberwiseClone()函数protected ,因此您只能通过自己类型的限定符访问它。

这是一个例子,这是我做的,到目前为止没有问题。

 public class ModelBase { public T ShallowCopy() where T : ModelBase { return (T)(MemberwiseClone()); } } 

称之为:

 var cloned = User.ShallowCopy();