ylbtech-LanguageSamples-ExplicitInterface(显示接口)
| ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-ExplicitInterface(显示接口) |
| 1.A,示例(Sample) 返回顶部 |
显式接口 实现示例
本示例演示了如何显式地实现接口成员以及如何从接口实例访问这些成员。有关背景信息,请参见接口(C# 编程指南).
| 安全说明 |
|---|
|
提供此代码示例是为了阐释一个概念,它并不代表最安全的编码实践,因此不应在应用程序或网站中使用此代码示例。对于因将此代码示例用于其他用途而出现的偶然或必然的损害,Microsoft 不承担任何责任。 |
在 Visual Studio 中生成并运行“显式接口实现”示例
在“解决方案资源管理器”中,右击“ExplicitInterface1”项目并单击“设为启动项目”。
在“调试”菜单上,单击“开始执行(不调试)”。
对 ExplicitInterface2 重复前面这些步骤。
从命令行生成并运行“显式接口实现”示例
使用“更改目录”命令转到“ExplicitInterface1”目录。
键入以下命令:
csc explicit1.cs
explicit1使用“更改目录”命令转到“ExplicitInterface2”目录。
键入以下命令:
csc explicit2.cs
explicit2
| 1.B,示例代码1(Sample Code)返回顶部 |
1.B.1, explicit1.cs
// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // explicit1.cs
interface IDimensions
{
float Length();
float Width();
} class Box : IDimensions
{
float lengthInches;
float widthInches; public Box(float length, float width)
{
lengthInches = length;
widthInches = width;
}
// 显式接口成员实现:
float IDimensions.Length()
{
return lengthInches;
}
// 显式接口成员实现:
float IDimensions.Width()
{
return widthInches;
} public static void Main()
{
// 声明类实例“myBox”:
Box myBox = new Box(30.0f, 20.0f);
// 声明接口实例“myDimensions”:
IDimensions myDimensions = (IDimensions) myBox;
// 打印出盒子的尺寸:
/* 下列注释行将产生编译
错误,因为这些行尝试从类实例访问显式实现的
接口成员: */
//System.Console.WriteLine("Length: {0}", myBox.Length());
//System.Console.WriteLine("Width: {0}", myBox.Width());
/* 从接口的实例调用方法,
以打印出盒子的尺寸: */
System.Console.WriteLine("Length: {0}", myDimensions.Length());
System.Console.WriteLine("Width: {0}", myDimensions.Width());
}
}
1.B.2,
| 1.B,示例代码2(Sample Code)返回顶部 |
1.B.1, explicit2.cs
// 版权所有(C) Microsoft Corporation。保留所有权利。
// 此代码的发布遵从
// Microsoft 公共许可(MS-PL,http://opensource.org/licenses/ms-pl.html)的条款。
//
//版权所有(C) Microsoft Corporation。保留所有权利。 // explicit2.cs
// 声明英制单位接口:
interface IEnglishDimensions
{
float Length();
float Width();
}
// 声明公制单位接口:
interface IMetricDimensions
{
float Length();
float Width();
}
// 声明实现以下两个接口的“Box”类:
// IEnglishDimensions 和 IMetricDimensions:
class Box : IEnglishDimensions, IMetricDimensions
{
float lengthInches;
float widthInches;
public Box(float length, float width)
{
lengthInches = length;
widthInches = width;
}
// 显式实现 IEnglishDimensions 的成员:
float IEnglishDimensions.Length()
{
return lengthInches;
}
float IEnglishDimensions.Width()
{
return widthInches;
}
// 显式实现 IMetricDimensions 的成员:
float IMetricDimensions.Length()
{
return lengthInches * 2.54f;
}
float IMetricDimensions.Width()
{
return widthInches * 2.54f;
}
public static void Main()
{
// 声明类实例“myBox”:
Box myBox = new Box(30.0f, 20.0f);
// 声明英制单位接口的实例:
IEnglishDimensions eDimensions = (IEnglishDimensions) myBox;
// 声明公制单位接口的实例:
IMetricDimensions mDimensions = (IMetricDimensions) myBox;
// 以英制单位打印尺寸:
System.Console.WriteLine("Length(in): {0}", eDimensions.Length());
System.Console.WriteLine("Width (in): {0}", eDimensions.Width());
// 以公制单位打印尺寸:
System.Console.WriteLine("Length(cm): {0}", mDimensions.Length());
System.Console.WriteLine("Width (cm): {0}", mDimensions.Width());
}
}
1.B.2,
| 1.C,下载地址(Free Download)返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
ylbtech-LanguageSamples-ExplicitInterface(显示接口)的更多相关文章
- 《连载 | 物联网框架ServerSuperIO教程》- 13.自定义视图显示接口开发,满足不同的显示需求
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- C#显示接口实现和隐式接口实现
在项目中可能会遇到显示接口实现和隐式接口实现.什么意思呢?简单来说使用接口名作为方法名的前缀,这称为“显式接口实现”:传统的实现方式,称为“隐式接口实现”.隐式接口实现如下: interface IS ...
- 华为交换机在Telnet登录下自动显示接口信息
因为用console连接交换机,默认是自动显示接口信息的,比如down掉一个接口后,会自动弹出接口被down掉的信息,但是在telnet连接下,默认是不显示这些信息的,需要开启后才可显示. 1.首先开 ...
- 基于FPGA的HDMI高清显示接口驱动
HDMI是(High Definition Multimedia Interface)的缩写,意思是高清晰度多媒体接口,是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和 ...
- .netcore2.1使用swagger显示接口说明文档
项目之前开发完接口后,我们还需要写接口说明文档,现在有了swagger方便了很多,可以网页版直接测试,当然了也减少了我们的工作量. 使用swagger生成接口说明文档,大致需要2个步骤 1.从“管理 ...
- 谈高清显示接口HDMI、RGB、LVDS、MIPI、eDP、mini-LVDS、V-By-One
近年来随着电子产业的高速发展,智能显示设备也取得了辉煌的成就,高清显示得到了消费者的青睐.目前高清显示协议接口有RGB.LVDS.MIPI.eDP.HDMI.miniLVDS.V-by-One等,由于 ...
- 【c# 学习笔记】显示接口实现方法
在接口 一张中,使用了隐式的接口实现方式,即在实现代码中没有制定实现那个接口中的CompareTo方法.相应地,自然就有显式的 接口实现方式,它指的是在实现过程中,明确指出实现哪一个接口中的哪一个方 ...
- VGA/DVI/HDMI/DP/Type-C等常用显示接口对比介绍
在我们的生活中,无论是电脑.电视还是投影设备等等,都离不开视频输出接口,尤其在显卡上面,通常会出现3种甚至更多的接口.很多人并不了解其中的区别,觉得只要有画面输出就可以了,其实对于很多显示器来说并非如 ...
- ASP.NET Core Swagger 显示接口注释
在Startup中 services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { Title ...
随机推荐
- 【洛谷 P3842】[TJOI2007]线段(DP)
裸DP.感觉楼下的好复杂,我来补充一个易懂的题解. f[i][0]表示走完第i行且停在第i行的左端点最少用的步数 f[i][1]同理,停在右端点的最少步数. 那么转移就很简单了,走完当前行且停到左端点 ...
- python3 进程_multiprocessing模块
'''多进程优点:可以利用多核,实现并行运算缺点:1.开销太大: 2.通信困难使用方式跟开多线程一样''' 多进程 import multiprocessing import time,os def ...
- RedHat修改系统时区
http://blog.itpub.net/27099995/viewspace-1370723/ 今天又被开发的说服务器时间异常,时差很大.我就纳闷了,上个星期都调整过的.去查看了一下. [root ...
- SSH的简单入门体验(Struts2.1+Spring3.1+Hibernate4.1)- 查询系统(上)
所谓SSH,指的是struts+spring+hibernate的一个集成框架,它是目前较流行的一种Web应用程序的开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域 ...
- javascript中使用el表达式获取不到数据问题
我们通常会在jsp里面使用el表达式,把需要的值传递给 javascript 方法,例如: <p onclick="doSomething(${param})">< ...
- sql参数化防止sql注入导致的暴露数据库问题
#转载请联系 假如你在京东工作,你要做的任务就是做一个商品搜索的东西供用户使用. 然后你写出了这么一个程序的雏形. import pymysql def main(): conn = pymysql. ...
- Selenium2+python自动化60-异常后截图(screenshot)【转载】
前言 在执行用例过程中由于是无人值守的,用例运行报错的时候,我们希望能对当前屏幕截图,留下证据. 在写用例的时候,最后一步是断言,可以把截图的动作放在断言这里,那么如何在断言失败后截图呢? 一.截图方 ...
- yii2.0在model里自定义数据表
无需多言,直接撸代码 class Zhuanjia extends \yii\db\ActiveRecord { public static function tableName() { return ...
- The number of steps(概率dp)
Description Mary stands in a strange maze, the maze looks like a triangle(the first layer have one r ...
- HDU 2673 (排序)
Acmer in HDU-ACM team are ambitious, especially shǎ崽, he can spend time in Internet bar doing proble ...
