从反射器反汇编的代码中的 CachedAnonymousMethodDelegate1

发布于 2024-12-16 11:28:41 字数 775 浏览 0 评论 0原文

我正在探索将 silverlight 的 System.ComponentModel.DataAnnotations 移植到桌面的可能性,以便重用在我的 silverlight 业务对象中完成的验证(不要问...)。

问题是我得到的代码类似于...

// Methods
protected ValidationAttribute() : this(CS$<>9__CachedAnonymousMethodDelegate1)
{
    if (CS$<>9__CachedAnonymousMethodDelegate1 == null)
    {
        CS$<>9__CachedAnonymousMethodDelegate1 = new Func<string>(null, (IntPtr) <.ctor>b__0);
    }
}

protected ValidationAttribute(Func<string> errorMessageAccessor)
{
    this._syncLock = new object();
    this._errorMessageResourceAccessor = errorMessageAccessor;
}

protected ValidationAttribute(string errorMessage) : this(new Func<string>(class2, (IntPtr) this.<.ctor>b__2))
{
}

有没有办法解决这个问题?

I'm exploring the possibility of porting silverlight's System.ComponentModel.DataAnnotations to the desktop in order to reuse validation done in my silverlight business objects (don't ask...).

The problem is I'm getting code like...

// Methods
protected ValidationAttribute() : this(CS
lt;>9__CachedAnonymousMethodDelegate1)
{
    if (CS
lt;>9__CachedAnonymousMethodDelegate1 == null)
    {
        CS
lt;>9__CachedAnonymousMethodDelegate1 = new Func<string>(null, (IntPtr) <.ctor>b__0);
    }
}

protected ValidationAttribute(Func<string> errorMessageAccessor)
{
    this._syncLock = new object();
    this._errorMessageResourceAccessor = errorMessageAccessor;
}

protected ValidationAttribute(string errorMessage) : this(new Func<string>(class2, (IntPtr) this.<.ctor>b__2))
{
}

Is there anyway that I can work around this?

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

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

发布评论

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

评论(1

妖妓 2024-12-23 11:28:41

这是编译后匿名委托的样子。

您可以将源中的匿名委托更改为声明的委托。

那么使用类似反射器的工具对其进行逆向工程应该没有问题。

This is the way an anonymous delegate looks like, after compilation.

You could change the anonymous delegate in the source to be a declared delegate.

Then it should be no problem to reverse engineer it with a reflector like tool.

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