gpt4 book ai didi

c# - 如何在运行时获取静态类的方法名?

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:00 25 4
gpt4 key购买 nike

如何获取像 Math 这样的静态类中的所有方法名?

输出应类似于以下内容:

Sin
Cos
Round
...

最佳答案

试试这个:

    MethodInfo[] methodInfos = typeof(Math).GetMethods(BindingFlags.Public | BindingFlags.Static);
foreach (MethodInfo methodInfo in methodInfos)
{
Console.WriteLine(methodInfo.Name);
}

此外,如果您还需要知道所有参数,请尝试类似

    private static void Main()
{
MethodInfo[] methodInfos = typeof(Math).GetMethods(BindingFlags.Public | BindingFlags.Static);
foreach (MethodInfo methodInfo in methodInfos)
{
Console.WriteLine(String.Format("{0} with following parameters", methodInfo.Name));
ParameterInfo[] parameters = methodInfo.GetParameters();
foreach (ParameterInfo parameter in parameters)
{
Console.WriteLine("Name : {0}, Type : {1}", parameter.Name, parameter.ParameterType.FullName);
}

Console.WriteLine("--------------");
}
}

输出:

Acos with following parameters
Name : d, Type : System.Double

--------------
Asin with following parameters
Name : d, Type : System.Double

--------------
Atan with following parameters
Name : d, Type : System.Double

--------------
Atan2 with following parameters
Name : y, Type : System.Double
Name : x, Type : System.Double

--------------
Ceiling with following parameters
Name : d, Type : System.Decimal

--------------
Ceiling with following parameters
Name : a, Type : System.Double

--------------
Cos with following parameters
Name : d, Type : System.Double

--------------
Cosh with following parameters
Name : value, Type : System.Double

--------------
Floor with following parameters
Name : d, Type : System.Decimal

--------------
Floor with following parameters
Name : d, Type : System.Double

--------------
Sin with following parameters
Name : a, Type : System.Double

--------------
Tan with following parameters
Name : a, Type : System.Double

--------------
Sinh with following parameters
Name : value, Type : System.Double

--------------
Tanh with following parameters
Name : value, Type : System.Double

--------------
Round with following parameters
Name : a, Type : System.Double

--------------
Round with following parameters
Name : value, Type : System.Double
Name : digits, Type : System.Int32

--------------
Round with following parameters
Name : value, Type : System.Double
Name : mode, Type : System.MidpointRounding

--------------
Round with following parameters
Name : value, Type : System.Double
Name : digits, Type : System.Int32
Name : mode, Type : System.MidpointRounding

--------------
Round with following parameters
Name : d, Type : System.Decimal

--------------
Round with following parameters
Name : d, Type : System.Decimal
Name : decimals, Type : System.Int32

--------------
Round with following parameters
Name : d, Type : System.Decimal
Name : mode, Type : System.MidpointRounding

--------------
Round with following parameters
Name : d, Type : System.Decimal
Name : decimals, Type : System.Int32
Name : mode, Type : System.MidpointRounding

--------------
Truncate with following parameters
Name : d, Type : System.Decimal

--------------
Truncate with following parameters
Name : d, Type : System.Double

--------------
Sqrt with following parameters
Name : d, Type : System.Double

--------------
Log with following parameters
Name : d, Type : System.Double

--------------
Log10 with following parameters
Name : d, Type : System.Double

--------------
Exp with following parameters
Name : d, Type : System.Double

--------------
Pow with following parameters
Name : x, Type : System.Double
Name : y, Type : System.Double

--------------
IEEERemainder with following parameters
Name : x, Type : System.Double
Name : y, Type : System.Double

--------------
Abs with following parameters
Name : value, Type : System.SByte

--------------
Abs with following parameters
Name : value, Type : System.Int16

--------------
Abs with following parameters
Name : value, Type : System.Int32

--------------
Abs with following parameters
Name : value, Type : System.Int64

--------------
Abs with following parameters
Name : value, Type : System.Single

--------------
Abs with following parameters
Name : value, Type : System.Double

--------------
Abs with following parameters
Name : value, Type : System.Decimal

--------------
Max with following parameters
Name : val1, Type : System.SByte
Name : val2, Type : System.SByte

--------------
Max with following parameters
Name : val1, Type : System.Byte
Name : val2, Type : System.Byte

--------------
Max with following parameters
Name : val1, Type : System.Int16
Name : val2, Type : System.Int16

--------------
Max with following parameters
Name : val1, Type : System.UInt16
Name : val2, Type : System.UInt16

--------------
Max with following parameters
Name : val1, Type : System.Int32
Name : val2, Type : System.Int32

--------------
Max with following parameters
Name : val1, Type : System.UInt32
Name : val2, Type : System.UInt32

--------------
Max with following parameters
Name : val1, Type : System.Int64
Name : val2, Type : System.Int64

--------------
Max with following parameters
Name : val1, Type : System.UInt64
Name : val2, Type : System.UInt64

--------------
Max with following parameters
Name : val1, Type : System.Single
Name : val2, Type : System.Single

--------------
Max with following parameters
Name : val1, Type : System.Double
Name : val2, Type : System.Double

--------------
Max with following parameters
Name : val1, Type : System.Decimal
Name : val2, Type : System.Decimal

--------------
Min with following parameters
Name : val1, Type : System.SByte
Name : val2, Type : System.SByte

--------------
Min with following parameters
Name : val1, Type : System.Byte
Name : val2, Type : System.Byte

--------------
Min with following parameters
Name : val1, Type : System.Int16
Name : val2, Type : System.Int16

--------------
Min with following parameters
Name : val1, Type : System.UInt16
Name : val2, Type : System.UInt16

--------------
Min with following parameters
Name : val1, Type : System.Int32
Name : val2, Type : System.Int32

--------------
Min with following parameters
Name : val1, Type : System.UInt32
Name : val2, Type : System.UInt32

--------------
Min with following parameters
Name : val1, Type : System.Int64
Name : val2, Type : System.Int64

--------------
Min with following parameters
Name : val1, Type : System.UInt64
Name : val2, Type : System.UInt64

--------------
Min with following parameters
Name : val1, Type : System.Single
Name : val2, Type : System.Single

--------------
Min with following parameters
Name : val1, Type : System.Double
Name : val2, Type : System.Double

--------------
Min with following parameters
Name : val1, Type : System.Decimal
Name : val2, Type : System.Decimal

--------------
Log with following parameters
Name : a, Type : System.Double
Name : newBase, Type : System.Double

--------------
Sign with following parameters
Name : value, Type : System.SByte

--------------
Sign with following parameters
Name : value, Type : System.Int16

--------------
Sign with following parameters
Name : value, Type : System.Int32

--------------
Sign with following parameters
Name : value, Type : System.Int64

--------------
Sign with following parameters
Name : value, Type : System.Single

--------------
Sign with following parameters
Name : value, Type : System.Double

--------------
Sign with following parameters
Name : value, Type : System.Decimal

--------------
BigMul with following parameters
Name : a, Type : System.Int32
Name : b, Type : System.Int32

--------------
DivRem with following parameters
Name : a, Type : System.Int32
Name : b, Type : System.Int32
Name : result, Type : System.Int32&

--------------
DivRem with following parameters
Name : a, Type : System.Int64
Name : b, Type : System.Int64
Name : result, Type : System.Int64&

--------------

关于c# - 如何在运行时获取静态类的方法名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15037891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com