C#在接口上访问动态属性

use*_*610 5 c# dynamic c#-4.0 fluent-security

我正在玩asp.net mvc的FluentSecurity库.此库公开的其中一个接口ISecurityContext如下所示:

public interface ISecurityContext
{
    dynamic Data { get; }
    bool CurrenUserAuthenticated();
    IEnumerable<object> CurrenUserRoles();
}
Run Code Online (Sandbox Code Playgroud)

当我尝试访问"数据"属性(如下所示)时,它不可用.虽然其他两种方法似乎都可以访问.

public class ExperimentalPolicy : ISecurityPolicy
{
    public PolicyResult Enforce(ISecurityContext context)
    {
        dynamic data = context.Data; // Data property is not accessible.
    }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?谢谢.

jbt*_*ule 2

Dataon 属性直到2.0ISecurityContext版本才被引入。与 nuget 一起安装的默认版本(不包括预发行版)是1.4。哪有属性。确保您使用的是正确的版本!