gpt4 book ai didi

assembly - 在 F# 中获取引用的程序集

转载 作者:行者123 更新时间:2023-12-02 21:37:55 25 4
gpt4 key购买 nike

我正在尝试通过迭代加载引用的程序集。
我加载程序集,并通过 getRefs 获取引用的程序集。 getRefs 没有任何输入参数,所以应该是 val getRefs: Assembly->AssemblyName[],但认为是 unit->AssemblyName[],有什么想法吗?


let getreffiles (name:string) =
let loadAssembly (name:string)=
Assembly.Load(name)
let getRefs (assembly:Assembly)=
assembly.GetReferencedAssemblies
//Get the referenced assembly list and print the full name to console
name
|>loadAssembly
|>getRefs
|>List.iter (fun s ->
printfn "Referenced Assembly name %s types" s.FullName);;

Type mismatch. Expecting a (unit -> AssemblyName []) -> 'a but given a 'b list -> unit
The type 'unit -> AssemblyName []' does not match the type ''a list'
C:\Users\Ebru\Documents\Visual Studio 2010\Projects\Find\GetAssembly.fs

最佳答案

您必须通过在末尾添加 () 来执行 GetReferencedAssemblies 方法。如果不添加“()”,您只是返回对该函数的引用,而不是返回该函数的结果。另外,将 List.iter 更改为 Array.iter。 GetReferencedAssemblies 返回数组,而不是列表。

let getreffiles (name:string) =
let loadAssembly (name:string)=
Assembly.Load(name)
let getRefs (assembly:Assembly)=
assembly.GetReferencedAssemblies()
//Get the referenced assembly list and print the full name to console
name
|>loadAssembly
|>getRefs
|> Array.iter (fun s ->
printfn "Referenced Assembly name %s types" s.FullName);;

关于assembly - 在 F# 中获取引用的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2327518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com