From aaa82339d10e7609633c24f57123627db4a3b51e Mon Sep 17 00:00:00 2001 From: RoosterDragon Date: Sat, 28 Nov 2015 21:42:51 +0000 Subject: [PATCH] Small cleanup in TraitDictionary. --- OpenRA.Game/TraitDictionary.cs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/OpenRA.Game/TraitDictionary.cs b/OpenRA.Game/TraitDictionary.cs index b8fa17ef1b..891ac5c055 100644 --- a/OpenRA.Game/TraitDictionary.cs +++ b/OpenRA.Game/TraitDictionary.cs @@ -36,19 +36,14 @@ namespace OpenRA class TraitDictionary { - // construct this delegate once. - static Func doCreateTraitContainer = CreateTraitContainer; - static ITraitContainer CreateTraitContainer(Type t) - { - return (ITraitContainer)typeof(TraitContainer<>).MakeGenericType(t) - .GetConstructor(Type.EmptyTypes).Invoke(null); - } + static readonly Func CreateTraitContainer = t => + (ITraitContainer)typeof(TraitContainer<>).MakeGenericType(t).GetConstructor(Type.EmptyTypes).Invoke(null); - Dictionary traits = new Dictionary(); + readonly Dictionary traits = new Dictionary(); ITraitContainer InnerGet(Type t) { - return traits.GetOrAdd(t, doCreateTraitContainer); + return traits.GetOrAdd(t, CreateTraitContainer); } TraitContainer InnerGet()