diff --git a/src/EcsAspect.cs b/src/EcsAspect.cs index 105556a..67bdc84 100644 --- a/src/EcsAspect.cs +++ b/src/EcsAspect.cs @@ -29,8 +29,8 @@ namespace DCFApixels.DragonECS { var buildersStack = GetBuildersStack(); if (buildersStack.Count <= 0) - { //TODO перевести - throw new InvalidOperationException($"{nameof(Inc)} можно использовать только во время инициализации полей и в конструкторе");//TODO Перевести + { + Throw.Aspect_CanOnlyBeUsedDuringInitialization(nameof(Inc)); } return buildersStack.Peek().Inc; } @@ -41,8 +41,8 @@ namespace DCFApixels.DragonECS { var buildersStack = GetBuildersStack(); if (buildersStack.Count <= 0) - { //TODO перевести - throw new InvalidOperationException($"{nameof(Exc)} можно использовать только во время инициализации полей и в конструкторе");//TODO Перевести + { + Throw.Aspect_CanOnlyBeUsedDuringInitialization(nameof(Exc)); } return buildersStack.Peek().Exc; } @@ -53,8 +53,8 @@ namespace DCFApixels.DragonECS { var buildersStack = GetBuildersStack(); if (buildersStack.Count <= 0) - { //TODO перевести - throw new InvalidOperationException($"{nameof(Opt)} можно использовать только во время инициализации полей и в конструкторе");//TODO Перевести + { + Throw.Aspect_CanOnlyBeUsedDuringInitialization(nameof(Opt)); } return buildersStack.Peek().Opt; } diff --git a/src/Utils/Exceptions.cs b/src/Utils/Exceptions.cs index 824dbe3..dd533bf 100644 --- a/src/Utils/Exceptions.cs +++ b/src/Utils/Exceptions.cs @@ -132,6 +132,13 @@ namespace DCFApixels.DragonECS.Internal { throw new Exception(message); } + + + [MethodImpl(MethodImplOptions.NoInlining)] + internal static void Aspect_CanOnlyBeUsedDuringInitialization(string methodName) + { + throw new InvalidOperationException($"{methodName} can only be used during field initialization and in the constructor."); + } } }