⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dotnetcomponent.cs

📁 C#高级编程第6版随书源代码 值得下载
💻 CS
字号:
using System;
using System.Runtime.InteropServices;

namespace Wrox.ProCSharp.COMInterop.Server
{
   [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
   [ComVisible(true)]
   public interface IMathEvents
   {
      [DispId(1)]
      void CalculationCompleted();
   }

   [ComVisible(false)]
   public delegate void CalculationCompletedEventHandler();



   [InterfaceType(ComInterfaceType.InterfaceIsDual)]
   [ComVisible(true)]
   public interface IWelcome
   {
      [DispId(60040)] string Greeting(string name);
   }

   [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
   [ComVisible(true)]
   public interface IMath
   {
      int Add(int val1, int val2);
      int Sub(int val1, int val2);
   }

   [ClassInterface(ClassInterfaceType.None)]
   [ProgId("Wrox.DotnetComponent")]
   [Guid("77839717-40DD-4876-8297-35B98A8402C7")]
   [ComSourceInterfaces(typeof(IMathEvents))]
   [ComVisible(true)]
   public class DotnetComponent : IWelcome, IMath
   {
      public DotnetComponent()
      {
      }

      public event CalculationCompletedEventHandler CalculationCompleted;

      public string Greeting(string name)
      {
         return "Hello " + name;
      }

      public int Add(int val1, int val2)
      {
         int result = val1 + val2;
         if (CalculationCompleted != null)
            CalculationCompleted();
         return result;
      }

      public int Sub(int val1, int val2)
      {
         int result = val1 - val2;
         if (CalculationCompleted != null)
            CalculationCompleted();
         return result;
      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -