CodeSnippet/CsharpTests/05_DelegateTests.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Microsoft.VisualStudio.TestTools.UnitTesting;

using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace CodeSnippet.CsharpTests
{
    [TestCategory("DelegateTests")]
    [TestClass()]
    public class DelegateTests
    {
        // 01:声明委托
        delegate void Print(string message);

        // 02:定义委托对应的方法
        void PrintMethod(string message)
        {
            Console.WriteLine(message);
        }

        /// <summary>
        /// 简单委托定义
        /// </summary>
        /// <remarks>
        /// step01:使用delegate关键字定义委托
        /// step02:声明委托对应的方法
        /// step03:实例化委托将方法作为参数传入
        /// </remarks>
        [TestMethod]
        public void DelegateDefinition()
        {
            // 03:实例化委托将方法作为参数传入
            Print print = new Print(PrintMethod);
            print.Invoke(nameof(DelegateDefinition));
            Assert.IsTrue(true);
        }

        /// <summary>
        /// 匿名方法定义委托
        /// </summary>
        /// <remarks>
        /// step01:使用delegate关键字定义委托
        /// step02:使用匿名方法的写法把一个方法赋值给委托
        /// 这时省略了定义方法这一步,将三步简化成了两步
        /// </remarks>
        [TestMethod]
        public void DelegateDefinition_AnonymousMethods()
        {
            // 02:使用匿名方法的写法把一个方法赋值给委托
            Print print = delegate (string message)
            {
                Console.WriteLine(message);
            };
            print.Invoke(nameof(DelegateDefinition_AnonymousMethods));
            Assert.IsTrue(true);
        }

        /// <summary>
        /// Lambda表达式定义委托
后面还有 144 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。