轻松学习C#的方法

2019-12-30 11:06:54王振洲

        extern修饰符通常与DllImport属性一起使用,从而使外部方法可以由DLL(动态链接库)实现。执行环境可以支持其他用来提供外部方法实现的机制。当外部方法包含DllImport属性时,该方法声明必须同时包含一个static修饰符。
        在使用DLLImport属性时,一定要引入System.Runtime.InteropServices命名空间,此命名空间是提供各种各样支持COM interop及平台调用服务的成员。
例四、通过外部方法和Dlllmport属性调用“User32.dll”实例自定义信息提示框的功能


<span style="font-size:18px;">using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Runtime.InteropServices;//必须引入的命名空间 
namespace Text 
{ 
  class Program 
  { 
    [DllImport("User32.dll")]//调用User32.dll 
    public static extern int MessageBox(int H, string m, string c, int type);//定义的外部方法 
    static int Main(string[] args) 
    { 
      Console.Write("请输入信息:"); 
      string str = Console.ReadLine();//接受输入的信息 
      return MessageBox(0,str,"我的信息提示框",0);//以信息提示框输出 
    } 
  } 
}</span> 

输出的结果为:

 轻松学习C#的方法

五、分部方法
        若一个方法声明中含有partial修饰符,则称该方法为分部方法。只能讲分部方法声明为分部类型的成员,而且要遵守约束数目。分部方法有着严格的限制。分部方法必须在分部类或分部机构内声明。它们必须是私有的,不能返回值,不能有输出参数。因为任何针对没有被实现的分部方法的调用都会简单地被忽略,所以说这些限制是非常有必要的。
        分部方法不能作为一个明确分配的变量,仅被代码生成器在处理轻量级事件的时候使用。假设用户解析一个数据库或者一个XML文件,然后生成了数据类,结果会发现有数十个类,几百个属性以及一大堆泛型和模板文件等。分部方法另外一个经常被用到的地方是验证,或者让属性的setter去更新另一个属性。所以如果用户要使用产生的代码,或者在运行时有几百个事件和千个方法调用的话(其实大多数情况下只用到了其中的一点点),就可以选择分部方法。分部方法在声明和使用时要比事件容易得多,如果没有用到它们,它们就会消失。从分部方法必须是私有的限制中,