C#显式地实现接口成员的方法

 更新时间:2015年06月28日 11:48:55   作者:pythoner  
这篇文章主要介绍了C#显式地实现接口成员的方法,实例分析了C#接口的相关使用技巧,需要的朋友可以参考下

本文实例讲述了C#显式地实现接口成员的方法。分享给大家供大家参考。具体实现方法如下:

// 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());
  }
}

代码2:

// 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());
  }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#将图片存放到SQL SERVER数据库中的方法

    C#将图片存放到SQL SERVER数据库中的方法

    这篇文章主要介绍了C#将图片存放到SQL SERVER数据库中的方法,以实例形式较为详细的分析了C#保存图片到SQL Server数据库的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C#实现的二维数组排序算法示例

    C#实现的二维数组排序算法示例

    这篇文章主要介绍了C#实现的二维数组排序算法,涉及C#针对二维数组的遍历、判断、排序等相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • C#实现调用本机摄像头实例

    C#实现调用本机摄像头实例

    这篇文章主要介绍了C#实现调用本机摄像头的方法,可以实现调用本机摄像头进行拍照,具有不错的实用价值,需要的朋友可以参考下
    2014-08-08
  • C#与SQL连接:GridView控件对数据库的操作

    C#与SQL连接:GridView控件对数据库的操作

    GridView控件操作方面的知识,需要的朋友可以参考一下
    2013-02-02
  • http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不安全

    http图片上传安全性问题 根据ContentType (MIME) 判断其实不准确、不安全

    图片上传常用的类型判断方法有这么几种---截取扩展名、获取文件ContentType (MIME) 、读取byte来判断(这个什么叫法来着?)。下面由脚本之家小编跟大家分享图片上传安全性问题,感兴趣的朋友一起看看吧
    2015-09-09
  • 带你复习c# 托管和非托管资源

    带你复习c# 托管和非托管资源

    这篇文章主要介绍了c# 托管和非托管资源的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#中的程序集和反射介绍

    C#中的程序集和反射介绍

    这篇文章主要介绍了C#中的程序集和反射介绍,程序集包含资源文件,类型元数据、IL代码,每个程序集都有自己的名称、版本等信息,反射就是动态获取程序集中的元数据的功能,需要的朋友可以参考下
    2015-01-01
  • Unity游戏开发中的桥接模式

    Unity游戏开发中的桥接模式

    桥接模式是Unity游戏开发中常用的设计模式之一,用于将抽象部分与实现部分分离,从而使它们可以独立地变化。通过桥接模式,不同的抽象类可以与不同的实现类组合使用,从而实现更加灵活和可扩展的系统设计。常见的应用包括游戏中的场景渲染、UI界面设计、音效播放等
    2023-05-05
  • c# HttpWebRequest通过代理服务器抓取网页内容应用介绍

    c# HttpWebRequest通过代理服务器抓取网页内容应用介绍

    在C#项目开发过程中可能会有些特殊的需求比如:用HttpWebRequest通过代理服务器验证后抓取网页内容,要想实现此方法并不容易,本文整理了一下,有需求的朋友可以参考下
    2012-11-11
  • C#随机数生成字母金字塔

    C#随机数生成字母金字塔

    这篇文章主要为大家详细介绍了C#随机数生成字母金字塔,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11

最新评论