c#测试反射性能示例

时间:2021-05-20

Activator.CreateInstance和AssemblyCreateInstance性能测试

复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using HelloWorld.ServiceReference1;
using System.Globalization;
using System.Reflection;
using Interface;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Stopwatch s = new Stopwatch();
Assembly a = Assembly.GetExecutingAssembly();

//foreach (var st in a.GetExportedTypes())
//{
// Console.WriteLine(st.Name);
//}

s.Reset();
s.Start();
Type t = a.GetType("HelloWorld.Test1");
Interface1 i2 = (Interface1)(Activator.CreateInstance(t));
Console.WriteLine((i2.Add(1, 2)));
s.Stop();
Console.WriteLine(s.Elapsed);


s.Reset();
s.Start();
Interface1 i = (Interface1)a.CreateInstance("HelloWorld.Test1");
Console.WriteLine((i.Add(1, 2)));
s.Stop();
Console.WriteLine(s.Elapsed);

}
}
public class Test1 : Interface1
{
public int Add(int a, int b)
{
return a + b;
}
}
public interface Interface1
{
int Add(int a, int b);
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章