Blazor-非常处理&继续&实现

打印 上一主题 下一主题

主题 1779|帖子 1779|积分 5337

@ try…catch

  1. @page "/catch"
  2. @rendermode InteractiveAuto
  3. <h3>Catch</h3>
  4. @try{
  5.     string str = "ha";
  6.     var bol = Convert.ToBoolean(str);
  7. }
  8. catch(Exception ex){
  9.     <p>转换出现错误 @ex.Message</p>
  10. }
  11. @code {
  12. }
复制代码

@ implements

实现接口,这里我们创建一个接口,试试用组件实现接口,创建一个IStudent接口。

我们在组件中用@implements实现了IStudent接口,我们可以看到报错了,提示没有实现接口成员。
若类实现了接口,则必须实现接口中的所有成员,编写具体的代码,否则无法编译通过。我们必要实现接口中的GetName(),在Blazor中,组件的本质也是类,和正常的实现接口是一致的。

我们实现下接口成员,报错恢复正常

@ inherits

组件继续基类

我们试试让Razor组件继续某个基类,先创建一个基类。

我们让组件继续这个基类

我们发现组件报错了,提示没有找到合适的方法重写。

在Blazor中若要让Razor组件继续某个基类,则该基类必须要继续组件的父类ComponentBase
我们对StudentComponent做一个修改,并给他加上成员和方法,试试组件能否正常访问及是否报错,改动如下:

我们首先看看,组件是否还继续报错?

组件恢复正常,没有编译报错了。
调用基类成员

接下来我们试试调用基类成员,通过如下代码分别调用成员变量和方法。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表