Beispiel #1
0
 public override string ToString()
 {
     if (((this.disposition == null) || this.isChanged) || ((this.parameters != null) && this.parameters.IsChanged))
     {
         StringBuilder builder = new StringBuilder();
         builder.Append(this.dispositionType);
         foreach (string str in this.Parameters.Keys)
         {
             builder.Append("; ");
             builder.Append(str);
             builder.Append('=');
             MailBnfHelper.GetTokenOrQuotedString(this.parameters[str], builder);
         }
         this.disposition          = builder.ToString();
         this.isChanged            = false;
         this.parameters.IsChanged = false;
         this.isPersisted          = false;
     }
     return(this.disposition);
 }
Beispiel #2
0
        private static void EncodeToBuffer(string value, StringBuilder builder, bool allowUnicode)
        {
            Encoding?encoding = MimeBasePart.DecodeEncoding(value);

            if (encoding != null) // Manually encoded elsewhere, pass through
            {
                builder.Append('\"').Append(value).Append('"');
            }
            else if ((allowUnicode && !MailBnfHelper.HasCROrLF(value)) || // Unicode without CL or LF's
                     MimeBasePart.IsAscii(value, false)) // Ascii
            {
                MailBnfHelper.GetTokenOrQuotedString(value, builder, allowUnicode);
            }
            else
            {
                // MIME Encoding required
                encoding = Encoding.GetEncoding(MimeBasePart.DefaultCharSet);
                builder.Append('"').Append(MimeBasePart.EncodeHeaderValue(value, encoding, MimeBasePart.ShouldUseBase64Encoding(encoding))).Append('"');
            }
        }