相关疑难解决方法(0)

简单委托(委托)与多播委托

我已经阅读了很多文章,但我仍然不清楚我们通常创建的普通代表和多播代理之间的区别.

public delegate void MyMethodHandler(object sender);
MyMethodHandler handler = new MyMethodHandler(Method1);
handler += Method2;
handler(someObject);
Run Code Online (Sandbox Code Playgroud)

上面的委托MyMethodHandler将调用这两个方法.现在多播代表的位置在哪里.我已经读过它们可以调用多种方法,但我担心我对代理的基本理解是不正确的.

.net c# delegates multicastdelegate

64
推荐指数
4
解决办法
5万
查看次数

LINQ to Objects连接两个集合以在第一个集合中设置值

我有以下实体框架查询:

var results = from r in db.Results
              select r;
Run Code Online (Sandbox Code Playgroud)

我正在使用AutoMapper映射到另一种类型:

var mapped = Mapper.Map<IEnumerable<Database.Result>, IEnumerable<Objects.Result>>(results);
Run Code Online (Sandbox Code Playgroud)

在我的Objects.Result类型中,我有一个名为reason的属性,它不是来自数据库.它来自另一个来源,我需要基本填充回我的映射类型:

var reasons = new List<Reason>
{
    new Reason { Id = 1, Reason = "asdf..." }
};
Run Code Online (Sandbox Code Playgroud)

我需要使用我的映射集合加入原因,并使用my reason集合中的值在我的映射集合中设置Reason属性.这可能吗?

 // need something like this:
 mapped = from m in mapped
          join r in reasons on m.Id equals r.Id
          update m.Reason = r.Reason
          select m;
Run Code Online (Sandbox Code Playgroud)

显然上面的代码没有编译,但是我能编写的代码可以做我想要的吗?

.net c# linq-to-objects

21
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×2

c# ×2

delegates ×1

linq-to-objects ×1

multicastdelegate ×1