gpt4 book ai didi

c# - 在 C# 中访问委托(delegate)中的类成员

转载 作者:行者123 更新时间:2023-11-30 20:52:51 25 4
gpt4 key购买 nike

我正在尝试创建一个类,其框架更新方法可以由委托(delegate)定义;但是,我发现委托(delegate)无法访问其类的成员。有什么办法吗?有没有任何人可以建议使用这样的动态定义方法的替代方法?

最佳答案

您可以将父实例引用作为参数传递给委托(delegate),即

class Parent : IParent
{
readonly Func<IParent, IFrame> _render;
public IFrame Render()
{
return _render(this);
}
}

当然,除非渲染委托(delegate)也是类或其内部类的一部分,否则它将只能访问公共(public)成员。

请注意,使用接口(interface)作为参数类型是个好主意,并选择委托(delegate)所需的最小接口(interface)(并且不公开任何其他内容),因为这将使您具有更大的可扩展性。

关于c# - 在 C# 中访问委托(delegate)中的类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513803/

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