{"record":{"id":"93408f2c7964c138","repo":"AvaloniaUI/Avalonia","slug":"invalid-variant-type-typeof-t","errorCode":null,"errorMessage":"Invalid variant type: {typeof(T)}","messagePattern":"Invalid variant type: (.+?)","errorType":"exception","errorClass":"ArgumentException","httpStatus":null,"severity":"error","filePath":"src/Avalonia.Base/Rendering/Composition/Expressions/ExpressionVariant.cs","lineNumber":848,"sourceCode":"            => default(T) switch\n            {\n                bool => (bool)(object)v,\n                float => (float)(object)v,\n                double => (double)(object)v,\n                System.Numerics.Vector2 => (Vector2)(object)v,\n                Avalonia.Vector => (Vector)(object)v,\n                System.Numerics.Vector3 => (Vector3)(object)v,\n                Avalonia.Vector3D => (Vector3D)(object)v,\n                System.Numerics.Vector4 => (Vector4)(object)v,\n                System.Numerics.Matrix3x2 => (Matrix3x2)(object)v,\n                Avalonia.Matrix => (Matrix)(object)v,\n                System.Numerics.Matrix4x4 => (Matrix4x4)(object)v,\n                System.Numerics.Quaternion => (Quaternion)(object)v,\n                Avalonia.Media.Color => (Avalonia.Media.Color)(object)v,\n                Avalonia.RelativePoint => (RelativePoint)(object)v,\n                Avalonia.RelativeScalar => (RelativeScalar)(object)v,\n                Avalonia.RelativeUnit => (RelativeUnit)(object)v,\n                _ => throw new ArgumentException(\"Invalid variant type: \" + typeof(T))\n            };\n\n        public T CastOrDefault<T>() where T : struct\n        {\n            TryCast<T>(out var r);\n            return r;\n        }\n\n        public override string ToString()\n        {\n            return Type switch\n            {\n                VariantType.Boolean => Boolean.ToString(),\n                VariantType.Double => Double.ToString(CultureInfo.InvariantCulture),\n                VariantType.Vector2 => Vector2.ToString(),\n                VariantType.Vector => Vector.ToString(),\n                VariantType.Vector3 => Vector3.ToString(),\n                VariantType.Vector3D => Vector3D.ToString(),","sourceCodeStart":830,"sourceCodeEnd":866,"githubUrl":"https://github.com/AvaloniaUI/Avalonia/blob/11c542726898ae954a1ef668c65ec79ec92ab17d/src/Avalonia.Base/Rendering/Composition/Expressions/ExpressionVariant.cs#L830-L866","documentation":"Error \"Invalid variant type: {typeof(T)}\" thrown in AvaloniaUI/Avalonia.","triggerScenarios":"Raised when code attempts to read or set an ExpressionVariant with a type that has no defined variant representation. Defend by only using supported variant types (scalars, vectors, matrices, strings, booleans, colors) in expression values.","commonSituations":"See trigger scenarios.","solutions":["Use a supported ExpressionVariant type (e.g. float, Vector2, Vector3, Vector4, Color, bool, string) for the expression value.","Convert the value to a supported scalar or vector type before assigning it to the variant."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"11c542726898ae954a1ef668c65ec79ec92ab17d","analyzedAt":"2026-08-13T11:57:40.261Z","schemaVersion":2},"datasetVersion":"2026-08-13T14:17:21.547Z"}