C#中没有找到适合的方法来重写问题

发布网友 发布时间:2024-10-20 10:39

我来回答

5个回答

热心网友 时间:4分钟前

asp.login_aspx.gettypehashcode()没有找到合适的方法重写
asp.login_aspx.processrequest(system.web.httpcontext)没有找到适合的方法重写
很简单
我不告诉你具体哪错了 但是告诉你为什么错了 你自己改 更加深印象
首先 你要理解 重写的概念
举个例子
cn.Open(); 你看 这句为什么没说 没有找到合适的方法重写
当你打 cn.Open( 打到这的时候 VS会给你智能提示 告诉你 里面具体应该写什么
是 int 是 string 还是 什么都不写
你要学会这个方法

asp.login_aspx.gettypehashcode()没有找到合适的方法重写
拿这个来说
当你写asp.login_aspx.gettypehashcode( 到这的时候 VS一定会智能提示
告诉你里面可以写什么 但是 一定没说 可以空 你空了 所以说没有找到合适的方法重写
建议你先看重写的 概念 ~加油~

热心网友 时间:6分钟前

protected void Page_Load(object sender, EventArgs e)
{
//清空,没必要把链接写在这里
}

热心网友 时间:1分钟前

double
calagirth();
//接口成员方法(默认抽象公共的)
}
class
rectangle1
:
ishape
//实现图形接口的矩形类{public
double
length
//长度属性{get{return
length;}set{if
(value
<
0){throw
new
exception("矩形长度不能为负数!");}else{length
=
value;}}}public
double
width
//宽度属性{get{return
width;}set{if
(value
<
0){throw
new
exception("矩形宽度不能为负数!");}else{width
=
value;}}}public
rectangle1()
//默认构造函数{
}public
rectangle1(double
length,
double
width)
//默认的构造函数{length
=
length;
width
=
width;}public
override
double
calaarea()
//重写继承基类的抽象方法{return
length
*
width;}public
override
double
calagirth()
//重写继承基类的抽象方法{return
2
*
(length
+
width);}private
double
length;
//私有的长度实例字段
private
double
width;
//私有的宽度实例字段
}
sealed
class
circle1
:
ishape
//实现图形接口的圆类{public
double
radius
//半径属性{get{return
radius;}set{if
(value
<
0){throw
new
exception("圆半径不能为负数!");}else{radius
=
value;}}}public
circle1()
//默认的搞函数{
}public
circle1(double
radius)
//默认的构造函数{radius
=
radius;}public
sealed
override
double
calaarea()
//重写继承基类的抽象方法{return
math.pi
*
radius
*
radius;}public
sealed
override
double
calagirth()
//重写继承基类的抽象方法{return
math.pi
*
2
*
radius;}private
double
radius;
//私有的半径实例字段}}错误1
“wpfapplication1.rectangle1.calaarea()”:
没有找到适合的方法来重写
错误2
“wpfapplication1.rectangle1.calagirth()”:
没有找到适合的方法来重写错误3
“wpfapplication1.circle1.calaarea()”:
没有找到适合的方法来重写
错误4
“wpfapplication1.circle1.calagirth()”:
没有找到适合的方法来重写

热心网友 时间:7分钟前

看你这段代码的的类名是 login
下面几个函数的类名是login_aspx,而且还有命名空间 asp
你看看你所有的代码是不是在同一个命名空间,或者相关程序是不是在同类下?

有可能是这个页面指定的类名和实际程序的类名不一样

热心网友 时间:8分钟前

重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。
格式:
基类中:
public virtual void myMethod()
{
}
子类中:
public override void myMethod()
{
}
重写以后,用基类对象和子类对象访问myMethod()方法,结果都是访问在子类中重新定义的方法,基类的方法相当于被覆盖掉了。如下例子:
using System;
class a
{
int x=1;
public virtual void PrintFields()
{
Console.WriteLine("x={0}",x);
}
}

class b:a
{
int y=2;
public override void PrintFields()
{
Console.WriteLine("y={0}",y);

}

}

class c
{
public static void Main()
{
b me=new b();
me.PrintFields();
a y=new b();
y.PrintFields();
}
}
以上代码运行结果:
y=2
y=2

如果把上面代码中的override去掉
那么运行的时候是不会有错误,但是会有个警告,因为编译器不知道你是要重写该方法,还是隐藏该方法。如果重写那么就加override,如果是隐藏那么就加new,其实不加new也可以运行,但是我们一般还是加上去。
如果是加了new,那么运行结果是:
y=2
x=1

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com