public static CodeAttributeDeclaration AddCustomAttribute(this CodeTypeMember member, string name, object value)
 {
     return member.AddCustomAttribute(name, new CodePrimitiveExpression(value));
 }
        public static CodeAttributeDeclaration AddCustomAttribute(this CodeTypeMember member, string name, string value)
        {
            CodeExpression expression;

            // Use convention that if string starts with $ its a const
            if (value.StartsWith(SnippetIndicator.ToString()))
            {
                expression = new CodeSnippetExpression(value.TrimStart(SnippetIndicator));
            }
            else
            {
                expression = new CodePrimitiveExpression(value);
            }

            return member.AddCustomAttribute(name, expression);
        }