首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从自定义RoleProvider调用方法

无法从自定义RoleProvider调用方法
EN

Stack Overflow用户
提问于 2012-09-21 06:40:26
回答 2查看 583关注 0票数 1

我已经为C# .NET 4.0创建了一个自定义RoleProvider。我已经实现了所有必需的方法,还添加了一些我自己的方法。我已经将Web.config更改为使用我的自定义RoleProvider,但是我不能调用我的任何自定义方法。例如,我将以下方法添加到我的自定义RoleProvider中:

代码语言:javascript
复制
public void Myfunc(string user)
{
  var a = user;
}

但是,当我尝试使用以下代码片段调用该方法时:

代码语言:javascript
复制
Roles.MyFunc("testuser");

我没有获得Myfunc函数的智能感知,VS给我一个错误:“未知System.Web.Security.RoleProvider的Myfunc方法。我可以告诉我的自定义RoleProvider正在被加载,因为我可以在一个必需的/被覆盖的方法中设置断点,它命中自定义的RoleProvider。但是我如何调用我的RoleProvider的自定义函数呢?”

EN

回答 2

Stack Overflow用户

发布于 2012-09-21 06:48:12

MyFunc不是RoleProvider的成员。

您是否正在尝试创建扩展方法?

那么你的方法应该是这样的:

代码语言:javascript
复制
public static void Myfunc(this System.Web.Security.RoleProvider roleProvider, string user)
{
  var a = user;
}

如果Roles是您自己的类,并且您已经实现了MyFunc,那么您需要向我们展示更多代码。但是从外观上看,RolesRoleProvider的一个实例,或者如果它是您的类本身,那么您需要使MyFunc方法成为静态方法,或者创建Roles的实例。

票数 1
EN

Stack Overflow用户

发布于 2013-09-20 00:50:50

听起来您的自定义角色提供程序设置正确。在那里,您需要做的就是将System.Web.Security.Roles.Provider转换为您的自定义类并调用自定义方法。

它看起来像这样:

((MyProject.Helpers.CustomRoleProvider)System.Web.Security.Roles.Provider).MyFunc("testuser");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12521956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档