/// <summary>
        /// Generates code for value
        /// </summary>
        /// <param name="parentClass">The parent class.</param>
        /// <param name="method">The method.</param>
        /// <param name="value">The value.</param>
        /// <param name="baseName">Name of the base.</param>
        /// <param name="dictionary">The dictionary.</param>
        /// <returns></returns>
        public CodeExpression Generate(CodeTypeDeclaration parentClass, CodeMemberMethod method, object value, string baseName, ResourceDictionary dictionary = null)
        {
            CodeExpression valueExpression = null;

            if (value != null)
            {
                var geometryVariable = new CodeVariableDeclarationStatement("RectangleGeometry", baseName, new CodeObjectCreateExpression("RectangleGeometry"));
                method.Statements.Add(geometryVariable);
                valueExpression = new CodeVariableReferenceExpression(baseName);

                RectangleGeometry rect = value as RectangleGeometry;
                CodeComHelper.GenerateFieldDoubleToFloat(method, valueExpression, rect, RectangleGeometry.RadiusXProperty);
                CodeComHelper.GenerateFieldDoubleToFloat(method, valueExpression, rect, RectangleGeometry.RadiusYProperty);
                CodeComHelper.GenerateRectangleField(method, valueExpression, rect, RectangleGeometry.RectProperty);
            }

            return(valueExpression);
        }