【发布时间】:2016-06-28 16:01:09
【问题描述】:
我是延迟加载的新手,但我也希望能够在创建延迟加载对象后填充它。有可能吗?
当我想将“延迟加载列表”定义为我创建的普通列表时出现此错误:
不能隐式转换类型:'System.Collections.Generic.List' 到 'System.Lazy>'
代码如下:
List<Currency> currencyOfMids = new List<Currency>();
obj.Merchant.CurrencyOfMids = currencyOfMids;
我也尝试将我的列表标识为惰性列表,但这次我无法使用“添加”命令填充它:
foreach (ListItem currencyItem in selectedCurrencies)
currencyOfMids.Add(new Currency() { Code = currencyItem.Text, Id = int.Parse(currencyItem.Value) });
“Lazy>”不包含“Add”的定义,并且找不到接受“Lazy>”类型的第一个参数的扩展方法“Add”(您是否缺少 using 指令或程序集引用?)
【问题讨论】:
-
建议你去看看一些例子。你的代码应该在某处有一个
Lazy<List<Currency>>声明。 -
是的,它有该声明,我想保留它。只是想知道是否可以为延迟加载对象赋值?
-
是 obj.Merchant.CurrencyOfMids 类型的 Lazy
- > 并且您正在尝试分配给它?
-
@DevNoob 没错,是的。有可能吗?
-
不完全是。请看下面我的回答。希望这就是你要找的东西!
标签: c# asp.net lazy-loading lazy-initialization