私は独自の構成クラスを実現したプロジェクトを持っています:
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>();
}
}
IconSizesIconSizesCollectionから派生したプロパティを返しますConfigurationElementCollection。次に、ConfigurationElementCollectionから派生します。ICollectionIEnumerable
別のクラスには、次のようなコードがあります。
var previewIconSize = Config.IconSizes.FirstOrDefault(c => c.Name == "AvatarSize");
そのような場合、なぜ遅延実行を使用するのですか? 最初にAsQueryable<IconSize>()コレクションに使用し、次にLINQと遅延実行を使用するのはなぜですか?
単純なリストを使用する場合と比較して利点はありますか?