相关疑难解决方法(0)

ASP.NET MVC中的ViewBag如何工作

ASP.NET MVC是如何ViewBag工作的?MSDN说它只是一个Object引起我兴趣的,"魔法"属性如ViewBag.Foo魔法字符串ViewBag["Hello"]实际上是如何工作的?

另外,我如何制作一个并在我的ASP.NET WebForms应用程序中使用它?

实例真的很感激!

asp.net asp.net-mvc viewbag

96
推荐指数
4
解决办法
12万
查看次数

将显式接口实现与动态对象一起使用

我正在试验接口的显式实现.这是用当前上下文中无效的方法去除intellisense.使用/ practical-applications-of-adaptive-application-of-fluent-builder-context /作为参考.为了证明它们不可调用,我认为我可以使用dynamic关键字,因为至少我的代码会编译.它确实编译,但它没有按预期工作.动态变量可以访问类方法,但不能访问显式实现的接口方法.

public interface IAmInterface
{
    void Explicit();
    void Implicit();
}

public class Implementation : IAmInterface
{
    void IAmInterface.Explicit()
    {
    }

    public void Implicit()
    {
    }
    public static Implementation BeginBuild()
    {
        return new Implementation();
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是3个测试来证明我的观点

[Test]
public void TestWorksAsExpected() //Pass
{
    var o = Implementation.BeginBuild();
    o.Implicit();
}

[Test]
public void TestDoesNotWorkWithExplicitImplementation() //Fails
{
    dynamic o = Implementation.BeginBuild();
    o.Explicit();
}

[Test]
public void ButWorksForImplicitImplementation() //Pass
{
    dynamic o = Implementation.BeginBuild();
    o.Implicit();
}
Run Code Online (Sandbox Code Playgroud)

有人会善意解释这个的原因吗?我想要这个功能的一个例子是证明我不能在TennisGame中添加两个以上的玩家.

dynamic o = …
Run Code Online (Sandbox Code Playgroud)

c# dynamic explicit-implementation

3
推荐指数
1
解决办法
1293
查看次数