C#比较构造函数签名

时间:2012-10-28 22:41:24

标签: c# generics constructor func

你如何比较构造函数方法? 假设我有一个有3个构造函数的类。

public class MyClass
{
        private string myName;
        private string mySurname;
        public MyName {get;set;}
        public MySurname{get;set;}    
        public MyClass()
        {}
        public MyClass(string myName)
        {
           this.myName = myName;
        } 
} 

我使用了以下函数,我想知道调用哪个构造函数。

public <T> GetBOData<T>(Func<T> Constructor) where T: Class
{
     if(Constructor signature already exist)
     {
        pull Cache value
     }
     ELSE
     {
       Invoke it and save the values into the cache.
     } 
}

我的想法是,如果我已经在应用程序的某处调用了此构造函数,请将其添加到DICTIONARY中。 因此,如果我再次调用相同的构造函数,它不会再次访问数据库。它只是拉取DICTIONARY值。

目前使用MethodInfo作为标识符,但我意识到它会更改每个winform,因此我的所有调用始终都会访问数据库。

提前谢谢。

0 个答案:

没有答案