1:
ServiceLocator.Register<ITideRMLiveRepository>(() => new TideRMLiveRepository(connection_session));        public static void Register<T>(Func<T> instanceCreator) where T : class
        {
            RegisterInternal(CreateKey<T>(), instanceCreator);
        }Register的参数不是Func么 这个不是委托一个函数么
传参的时候 () => new TideRMLiveRepository(connection_session) 这是什么意思?
怎么给了一个实例?
            ServiceLocator.Register<RMMappingService>(delegate
            {
                return new RMMappingService();
            });这里 加了delegate关键字就可以传入一个函数了?2:
public static T Resolve<T>() where T : class
我知道那个where 是修饰T这个泛型的 但是:不是继承或者接口么这放个class是什么意思?3:lamba问题
假设
List<int> xx = new List<int>();
xx.ForEach(x=>x=x+1);
是不是只能做基于元素的事情
比如
我想
foreach(var item in xx)
{
Console.Write(item);
}
这样就没法翻译成lamba表达式?

解决方案 »

  1.   

    1.Func本质就是委托,可以传一个方法进去
    2.可以理解“T是”XXX类型
    3.foreach(var item in xx)
    {Console.Write(item);
    }
    可写为:
    xx.ForEach(item => Console.Write(item));
    或者:
    xx.ForEach(Console.Write);
      

  2.   

    1、楼主看看这篇文章《温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件 》,应该就明白了
    http://www.cnblogs.com/yjmyzz/archive/2009/11/23/1608818.html
    2、“T : class”表示T是class这种类型
    3、xx.ForEach(item=>Console.Write(item));其实像这个问题,楼主要想知道行不行,打开VS输几行代码试验一下就知道了。