C#黑魔法!用__arglist实现超灵活方法参数,99%程序员不知道的隐藏技巧-如何使用__arglist

时间:2025-04-06 19:10:11

定义使用__arglist的方法

using System;
using System.Reflection;

class MagicMethod
{
    public static void FlexibleMethod(__arglist)
    {
        ArgIterator iterator = new ArgIterator(__arglist);
        while (!iterator.IsEndOfList())
        {
            object arg = iterator.GetNextArg();
            Console.WriteLine($"Type: {arg.GetType()}, Value: {arg}");
        }
    }
}

在上述代码中,FlexibleMethod方法使用了__arglist来接受可变参数。通过ArgIterator类,我们可以遍历参数列表中的每一个参数,并获取其类型和值。

调用使用__arglist的方法

class Program
{
    static void Main()
    {
        MagicMethod.FlexibleMethod(__arglist(1, "Hello", 3.14));
    }
}

Main方法中,我们调用了FlexibleMethod并传入了不同类型的参数:一个整数、一个字符串和一个双精度浮点数。__arglist使得这种灵活的参数传递成为可能。