微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#使用委托

using System;
using System.IO;

namespace DelegateAppl {

   class PrintString {
      static FileStream fs;
      static StreamWriter sw;

      // delegate declaration
      public delegate void printString(string s);

      // this method prints to the console
      public static void WritetoScreen(string str) {
         Console.WriteLine(The String is: {0}, str);
      }

      //this method prints to a file
      public static void WritetoFile(string s) {
         fs = new FileStream(c:\message.txt,
         FileMode.Append, FileAccess.Write);
         sw = new StreamWriter(fs);
         sw.WriteLine(s);
         sw.Flush();
         sw.Close();
         fs.Close();
      }

      // this method takes the delegate as parameter and uses it to
      // call the methods as required
      public static void sendString(printString ps) {
         ps(Hello World);
      }

      static void Main(string[] args) {
         printString ps1 = new printString(WritetoScreen);
         printString ps2 = new printString(WritetoFile);
         sendString(ps1);
         sendString(ps2);
         Console.ReadKey();
      }
   }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐