gpt4 book ai didi

c# - 使用 MemberwiseClone 的扩展方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:52 25 4
gpt4 key购买 nike

我有 ApiContext 对象(没有代码),想为它制作扩展方法

代码有什么问题?它说:

cannot use this in static member

ApiContext 驻留在单例模式中

public sealed class EbayProxySdk
{
private static EbayProxySdk _instance = null;
private static readonly Object LockObj = new object();

public ApiContext Context;
.
.
.
}

public static class MyExtensions
{
public static ApiContext DeepClone(this ApiContext context)
{
ApiContext other = (ApiContext)this.MemberwiseClone();
return other;
}
}

编辑我最终要做的是深度克隆到ApiContext,这是一个具有嵌套对象的复杂对象

最佳答案

您不能从类外部调用 MemberwiseClone,因为它是一个 protected 方法。如果你能做到这一点,那么任何人都可以调用任何不符合访问保护精神的 protected 方法。做不到。

您可以使用(完全信任)反射来执行此操作,或者您可以通过公开执行您想要的操作的 public 方法使类 ApiContext 协作。

关于c# - 使用 MemberwiseClone 的扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com