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

📄 class1.cs

📁 Com组件的一些例程
💻 CS
字号:
using System;
using System.Runtime.InteropServices;

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

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

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

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

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

		}

		public event CalculationCompletedDelegate CalculationCompleted;


		#region IWelcome Members

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

		#endregion

		#region IMath Members

		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;
		}

		#endregion
	}
}

⌨️ 快捷键说明

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