c# - 使 "this"隐式动态化

标签 c# dynamic c#-4.0

我有一个类继承自 DynamicObject 并重写它的一些成员。我想知道是否有任何我可以使用的技巧使“this”隐式动态(或至少是外观),这样当我想在类中动态添加成员时,我就不必这样做了

((dynamic)this).Whatever = 10;

如果可以的话就更好了

Whatever = 10;

我只是添加了一些东西,所以我不能添加任何真实的上下文,不,这次 Ruby 不是解决方案;)

我可以将它包装在一个属性中,但它会添加到功能的 API 中,因为我必须这样做

Property.Whatever = 10;

最佳答案

为什么不直接扩展基类?

public class DynamicObjectEx : DynamicObject
{
    protected dynamic self
    {
        get
        {
            return this;
        }
    }
}

或者您可以简单地切换到 VB.NET 并关闭选项 strict 或任何设置 ;-)

关于c# - 使 "this"隐式动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4213099/

相关文章:

c# - ASP.NET MVC : How do I change where Ajax. BeginForm 将在页面加载后发布到?

java - Java 中的动态绑定(bind)遇到问题

c# - 数组不允许负索引C#

javascript - 基于先前选择的动态选择框

jquery - 在 Mvc2 中使用 jquery 在我的页面中加载部分 View 时如何进行客户端验证

linq - Anglesharp - 如何从 Yelp 网站获得评分和评论?

c# - 有什么方法可以使用应用程序图标作为通知图标吗?

c# - 如何在最小起订量存储库中执行表达式?

c# - Dynamic Func<> for Dapper query map

jquery - 激事件态添加内容的灯箱