如何调用 MemberwiseClone()?

发布于 2024-11-09 06:34:37 字数 257 浏览 0 评论 0原文

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

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

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

I'm confused about how to use the MemberwiseClone() method. I looked the example in MSDN and they use it trough the this keyword.

Why I can not call it directly as other objects' methods like GetType() or ToString()? Another related method that does not appear is ShallowCopy().

If they are part of the Object class why can't I see them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你怎么敢 2024-11-16 06:34:37

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

The MemberwiseClone() function is protected, so you can only access it through a qualifier of your own type.

我ぃ本無心為│何有愛 2024-11-16 06:34:37

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

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

并这样称呼它:

var cloned = User.ShallowCopy<User>();

Here is an example, this is what I did and no problems so far.

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

And call it like:

var cloned = User.ShallowCopy<User>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文