C#cast类型的帮助

时间:2011-07-16 20:25:22

标签: c# asp.net casting

我在继承的Membership Provider对象上编写了一个测试方法,并想通过实际将成员资格提供程序转换为我的对象来调用该方法。成员资格不属于MembershipProvider类型。它是默认的Membership对象。

 ((MyMembershipProvider)Membership).Test();

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

当然有可能。但是,如果您要实现自定义成员资格提供程序,则忘记从Provider对象中获取属性Membership。像这样:

((MyMembershipProvider)Membership.Provider).Test();

答案 1 :(得分:5)

试试这个:

((Membership)MyMembershipProvider).Test();

我猜这里,但我认为你的MemberShip是类类型,MyMembershipProvider是对类(对象)的引用。你刚刚把你的演员操作系统倒退了。

换句话说,你可能会尝试这样做:

int myVal = 1;
double mySecondVal = (myVal)double; // fail

double mySecondVal = (double)myVal; // success

答案 2 :(得分:1)

如果Membership对象是MyMembershipProvider类型,并且它具有.Test()方法,则有可能。您可以这样检查:

if (Membership is MyMembershipProvider)
    (Membership as MyMembershipProvider).Test();