日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

基于C#的接口基礎教程之六(4)_.Net教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:基于C#的接口基礎教程之五
  第五節(jié)、實現(xiàn)接口   1、顯式實現(xiàn)接口成員   為了實現(xiàn)接口,類可以定義顯式接口成員執(zhí)行體(Explicit interface member implementations)。顯式接口成員執(zhí)行體可以是一個方法、一個

  在 .NET 框架程序中通過DllImport使用 Win32 API

  .NET 框架程序可以通過靜態(tài) DLL 入口點的方式來訪問本機代碼庫。DllImport 屬性用于指定包含外部方法的實現(xiàn)的dll 位置。

  DllImport 屬性定義如下:

namespace System.Runtime.InteropServices
{
 [AttributeUsage(AttributeTargets.Method)]
 public class DllImportAttribute: System.Attribute
 {
  public DllImportAttribute(string dllName) {...}
  public CallingConvention CallingConvention;
  public CharSet CharSet;
  public string EntryPoint;
  public bool ExactSpelling;
  public bool PreserveSig;
  public bool SetLastError;
  public string Value { get {...} }
 }
}

  說明:

  1、DllImport只能放置在方法聲明上。

  2、DllImport具有單個定位參數(shù):指定包含被導入方法的 dll 名稱的 dllName 參數(shù)。

  3、DllImport具有五個命名參數(shù):

   a、CallingConvention 參數(shù)指示入口點的調(diào)用約定。如果未指定 CallingConvention,則使用默認值 CallingConvention.Winapi。

   b、CharSet 參數(shù)指示用在入口點中的字符集。如果未指定 CharSet,則使用默認值 CharSet.Auto。

   c、EntryPoint 參數(shù)給出 dll 中入口點的名稱。如果未指定 EntryPoint,則使用方法本身的名稱。

   d、ExactSpelling 參數(shù)指示 EntryPoint 是否必須與指示的入口點的拼寫完全匹配。如果未指定 ExactSpelling,則使用默認值 false。

   e、PreserveSig 參數(shù)指示方法的簽名應當被保留還是被轉換。當簽名被轉換時,它被轉換為一個具有 HRESULT 返回值和該返回值的一個名為 retval 的附加輸出參數(shù)的簽名。如果未指定 PreserveSig,則使用默認值 true。

   f、SetLastError 參數(shù)指示方法是否保留 Win32"上一錯誤"。如果未指定 SetLastError,則使用默認值 false。

  4、它是一次性屬性類。

  5、此外,用 DllImport 屬性修飾的方法必須具有 extern 修飾符。

  下面是 C# 調(diào)用 Win32 MessageBox 函數(shù)的示例:

using System;
using System.Runtime.InteropServices;
class MainApp
{ //通過DllImport引用user32.dll類。MessageBox來自于user32.dll類
 [DllImport("user32.dll", EntryPoint="MessageBox")]
 public static extern int MessageBox(int hWnd, String strMessage, String strCaption, uint uiType);
 public static void Main()
 {
  MessageBox( 0, "您好,這是 PInvoke!", ".NET", 0 );
 }
}

  面向對象的編程語言幾乎都用到了抽象類這一概念,抽象類為實現(xiàn)抽象事物提供了更大的靈活性。C#也不例外, C#通過覆蓋虛接口的技術深化了抽象類的應用。欲了解這方面的知識,請看下一節(jié)-覆蓋虛接口

分享:基于C#的接口基礎教程之四
  第四節(jié)、訪問接口   對接口成員的訪問   對接口方法的調(diào)用和采用索引指示器訪問的規(guī)則與類中的情況也是相同的。如果底層成員的命名與繼承而來的高層成員一致,那么底層成員將覆蓋同

共4頁上一頁1234下一頁
來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
相關.Net教程