{"record":{"id":"9f97c5a427512178","repo":"AvaloniaUI/Avalonia","slug":"easing-e-was-not-found-in-namespace-namespac","errorCode":null,"errorMessage":"Easing \"{e}\" was not found in {Namespace} namespace.","messagePattern":"Easing \"(.+?)\" was not found in (.+?) namespace\\.","errorType":"validation","errorClass":"FormatException","httpStatus":null,"severity":"error","filePath":"src/Avalonia.Base/Animation/Easings/Easing.cs","lineNumber":42,"sourceCode":"        /// <summary>\n        /// Parses a Easing type string.\n        /// </summary>\n        /// <param name=\"e\">The Easing type string.</param>\n        /// <returns>Returns the instance of the parsed type.</returns>\n        public static Easing Parse(string e)\n        {\n#if NETSTANDARD2_0\n            if (e.Contains(\",\"))\n#else\n            if (e.Contains(','))\n#endif\n            {\n                return new SplineEasing(KeySpline.Parse(e, CultureInfo.InvariantCulture));\n            }\n\n            return TryCreateEasingInstance(e, out var easing)\n                ? easing\n                : throw new FormatException($\"Easing \\\"{e}\\\" was not found in {Namespace} namespace.\");\n        }\n    }\n}\n","sourceCodeStart":24,"sourceCodeEnd":46,"githubUrl":"https://github.com/AvaloniaUI/Avalonia/blob/11c542726898ae954a1ef668c65ec79ec92ab17d/src/Avalonia.Base/Animation/Easings/Easing.cs#L24-L46","documentation":"Thrown by Easing.Parse when the input string is neither a KeySpline (comma-separated control points) nor a known easing type name in the Avalonia.Animation.Easings namespace. Easing.Parse delegates to a source-generated factory (TryCreateEasingInstance) that enumerates Easing subtypes; an unknown name yields this FormatException.","triggerScenarios":"Calling Easing.Parse(e) where e is not a spline string and does not match any Easing subclass name (e.g. \"EaseInOut\", \"QuadraticEaseIn\").","commonSituations":"Typo in an easing name; using an easing from another framework's vocabulary; case mismatch; expecting an easing that was trimmed by AOT/linker.","solutions":["Use a documented easing name from Avalonia.Animation.Easings (e.g. \"QuadraticEaseInOut\").","For spline control, pass four comma-separated numbers forming a KeySpline.","Instantiate the Easing subclass directly in code instead of parsing."],"exampleFix":"// before\nvar e = Easing.Parse(\"ease-in-out\"); // CSS name, not valid\n\n// after\nvar e = Easing.Parse(\"CubicEaseInOut\");\n// or a spline\nvar e = Easing.Parse(\"0.25,0.1,0.25,1\");","handlingStrategy":"validation","validationCode":"var known = new[] { \"LinearEasing\", \"QuadraticEaseIn\", \"CubicEaseInOut\" /* ... */ };\nif (!e.Contains(',') && !known.Contains(e))\n    throw new FormatException($\"Unknown easing: {e}\");","typeGuard":"static bool IsKnownEasing(string e) => e.Contains(',') || typeof(Easing).Assembly.GetTypes()\n    .Any(t => typeof(Easing).IsAssignableFrom(t) && t.Name == e);","tryCatchPattern":null,"preventionTips":["Reference documented Avalonia.Animation.Easings type names.","Use spline notation (4 comma-separated numbers) for custom curves.","Instantiate Easing subclasses directly in code when the name is dynamic."],"tags":["animation","parsing","easing","avalonia"],"backgroundTag":null,"analyzedSha":"11c542726898ae954a1ef668c65ec79ec92ab17d","analyzedAt":"2026-08-13T11:57:40.261Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}