gpt4 book ai didi

c# - 如何将 Delegate 转换为一串代码?

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:41 27 4
gpt4 key购买 nike

我正在尝试通过将其转换为字符串来恢复委托(delegate)的代码,但到目前为止没有成功 ):

以这段代码为例:

Delegate del = new Delegate()
del = (MethodInvoker) delegate { MessageBox.Show("hello from delegate") };

我想知道是否可以对 del 执行任何操作来检索表示其 C# 代码的字符串。

我想我正在寻找的是序列化,但我不确定...我试过 Delegate.ToString() 但它没有返回我想要的...

最佳答案

这在一般情况下是不可能的。

如果您接受 Expression<TDelegate> (一个 expression tree )而不是一个普通的委托(delegate),你可以调用 ToString()获取字符串表示。
但是,编译器只能将 lambda 表达式(不是 block )转换为表达式树。

关于c# - 如何将 Delegate 转换为一串代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8074207/

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