我有这行代码可以创建附件。
email.Attachments.Add(new Attachment(new MemoryStream(filebytes), "QRCode.png"));
现在我正在尝试将ContentDisposition.Inline属性应用于它....如何在创建附件时按照我的方式执行此操作?
答案 0 :(得分:0)
我想你想在一行中找到解决方案,这是一种方法:
email.Attachments.Add((new Func<Stream, Attachment>(stream => { var attachment = new Attachment(stream, "QRCode.png"); attachment.ContentDisposition.Inline = true; return attachment; }).Invoke(new MemoryStream(fileBytes))));
但是,强烈反对这种方法,很难阅读。
答案 1 :(得分:0)
但是,如果目标是只有一个单行逻辑语句来添加附件,我只需使用辅助方法,àla:
Attachment data = BuildAttachment(new MemoryStream(filebytes), "QRCode.png"));
...
private Attachment BuildAttachment(MemoryStream stream, string name) {
Attachment attachment = new Attachment(stream, name);
attachment.ContentDisposition.Inline = true;
return attachment;
}
这会保留你的“单行”,我认为是你的for-loop。