私は独自の構成クラスを実現したプロジェクトを持っています:
IconSizesConfigSection: ConfigurationSection
IconSizesCollection: ConfigurationElementCollection
IconSize: ConfigurationElement
Config
クラスには、このプロパティが存在します:
public IQueryable<IconSize> IconSizes
{
get
{
IconSizesConfigSection configInfo = (IconSizesConfigSection)ConfigurationManager.GetSection("iconConfig");
return configInfo.IconSizes.OfType<IconSize>().AsQueryable<IconSize>();
}
}
IconSizes
IconSizesCollection
から派生したプロパティを返しますConfigurationElementCollection
。次に、ConfigurationElementCollection
から派生します。ICollection
IEnumerable
別のクラスには、次のようなコードがあります。
var previewIconSize = Config.IconSizes.FirstOrDefault(c => c.Name == "AvatarSize");
そのような場合、なぜ遅延実行を使用するのですか? 最初にAsQueryable<IconSize>()
コレクションに使用し、次にLINQと遅延実行を使用するのはなぜですか?
単純なリストを使用する場合と比較して利点はありますか?