【发布时间】:2014-10-15 03:51:59
【问题描述】:
无法编译此 F# 代码,因为它是从 C# 错误翻译的。
lambda 表达式似乎有问题
namespace OpenXML
open DocumentFormat.OpenXml
open DocumentFormat.OpenXml.Packaging
open DocumentFormat.OpenXml.Wordprocessing
// Add the DocumentFormat.OpenXml assembly
// Add the WindowsBase assembly
module public Word =
let query_plain_text_content_control (document_path_and_file_name :string) (content_control_tag :string) =
use theDoc = WordprocessingDocument.Open(document_path_and_file_name, true)
let mainPart = theDoc.MainDocumentPart
let block = mainPart.Document.Body.Descendants<SdtElement>().Where(r :> r.SdtProperties.GetFirstChild<Tag>().Val = content_control_tag).Single()
let t = block.Descendants<Text>().FirstOrDefault()
t.Text
let update_plain_text_content_control (document_path_and_file_name :string) (content_control_tag :string) (new_text :string) = async {
use theDoc = WordprocessingDocument.Open(document_path_and_file_name, true)
let mainPart = theDoc.MainDocumentPart
let block = mainPart.Document.Body.Descendants<SdtElement>().Where(r :> r.SdtProperties.GetFirstChild<Tag>().Val = content_control_tag).Single()
let t = block.Descendants<Text>().FirstOrDefault()
t.Text = new_text
mainPart.Document.Save() |> ignore
}
【问题讨论】:
-
您应该确保包含准确的错误消息以及它出现在哪一行。
-
欢迎您!请包括您得到的确切错误。
-
错误 1 表达式中出现意外符号 '(',第 14 行,错误 2 绑定中出现意外符号 ')'。在此点或其他标记处或之前预期不完整的结构化构造。第 14 行,错误 3 表达式中出现意外符号“(”,第 21 行,错误 4 绑定中出现意外符号“)”。在此点或其他标记处或之前预期不完整的结构化构造。 21号线
-
F# 中的 ':>' 是转换运算符,可将类型转换为层次结构中较高的类型。这不是 lambda 表达式。
-
我认为你最近的编辑已经把它变成了一个新问题——现在的答案毫无意义。我认为你最好提出一个新问题。
标签: f#