����λ�ã���ҳ > �����̳� > �̳� > MethodTimer��һ����������.NET���к�ʱͳ�ƿ�

MethodTimer��һ����������.NET���к�ʱͳ�ƿ�

��Դ������������|��ʱ�䣺2024-11-06 10:04:45 |���Ķ���111��|�� ��ǩ�� T Net ETH һ�� TIM ��Դ �� |����������

ǰ�� ��.NET�����У�Ϊ��׼ȷͳ�ƶ�Ӧ������ִ��ʱ�䣬������õķ�ʽ���ֶ�ʹ�� Stopwatch ����ʽ��д��ʱ�߼������Ǽ�������Ҫ������ʹ�� Stopwatch �����к�ʱͳ�ƵĻ������ڱ��ִ������������Ӵ����ά���ɱ��� ��Ŀ���� MethodTimer��һ��.NET��Դ����ѣ�MIT L

��.NET�����У�Ϊ��׼ȷͳ�ƶ�Ӧ������ִ��ʱ�䣬������õķ�ʽ���ֶ�ʹ�� Stopwatch ����ʽ��д��ʱ�߼������Ǽ�������Ҫ������ʹ�� Stopwatch �����к�ʱͳ�ƵĻ������ڱ��ִ������������Ӵ����ά���ɱ���

MethodTimer��һ��.NET��Դ����ѣ�MIT License���������������к�ʱͳ�ƿ⣬�����ڱ���ʱ�Զ���ָ������ע���ʱ���룬�����ֶ���д�����ļ�ʱ�߼���

������Ϊ�� MethodTimerExercise �Ŀ���̨Ӧ�á�

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

��װNuGet

���װ

PM>?Install-Package?Fody
PM>?Install-Package?MethodTimer.Fody

���� Fody ��װ��

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

���� MethodTimer.Fody ��װ��

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

ͨ���ڷ��������� Time ���ԣ�MethodTimer ���ڱ���ʱ�Զ��� TimeMethod ע���ʱ���롣

????????[Time]
????????public?static?void?TimeMethod()
????????{
????????????for?(int?i?=?0;?i?????????????{
????????????????Console.WriteLine($"������{i}");
????????????}
????????}

ʹ��ILSpy�鿴�����Ĵ���

?public?static?void?TimeMethod()
?{
??Stopwatch?stopwatch?=?Stopwatch.StartNew();
??try
??{
???for?(int?i?=?0;?i????{
????Console.WriteLine($"������{i}");
???}
??}
??finally
??{
???stopwatch.Stop();
???string?message?=?null;
???MethodTimeLogger.Log(MethodBase.GetMethodFromHandle((RuntimeMethodHandle)/*OpCode?not?supported:?LdMemberToken*/,?typeof(Program).TypeHandle),?stopwatch.Elapsed,?message);
??}
?}

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

��ʱ��������¼���ַ���

���к�ʱΪlong�����룩��

????????///?
????????///?���к�ʱΪlong�����룩
????????///?

????????public?static?class?MethodTimeLogger1
????????{
????????????public?static?void?Log(MethodBase?methodBase,?long?milliseconds,?string?message)
????????????{
????????????????Console.WriteLine($"������{methodBase.Name}?��ʱ��{milliseconds}?���룬��Ϣ��{message}");
????????????}
????????}

���к�ʱΪTimeSpan��

????????///?
????????///?���к�ʱΪTimeSpan
????????///?

????????public?static?class?MethodTimeLogger
????????{
????????????public?static?void?Log(MethodBase?methodBase,?TimeSpan?elapsed,?string?message)
????????????{
????????????????Console.WriteLine($"������{methodBase.Name}?��ʱ��{elapsed.TotalMilliseconds}?���룬��Ϣ��{message}");
????????????}
????????}

��ʱͳ��ʱ�����

MethodTimer£ºÒ»¸öÇáÁ¿¼¶µÄ.NETÔËÐкÄʱͳ¼Æ¿â

��ĿԴ���ַ

������Ŀʵ�ù��ܺ����Ի�ӭǰ����Ŀ��Դ��ַ�鿴?�������˸���Ŀһ��Star֧��?��

������Ŀ�Ϳ�ܾ�ѡ

����Ŀ����¼��C#/.NET/.NET Core������Ŀ�Ϳ�ܾ�ѡ�У���ע������Ŀ�Ϳ�ܾ�ѡ�����㼰ʱ�˽�C#��.NET��.NET Core��������¶�̬�����ʵ������߿�������Ч�ʺ������������ڣ���ӭ���ӻԾ�ύPR�Ƽ����Լ������������Ŀ�Ϳ�ܲ�����û?����

С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������