Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在F中获取引用的程序集#_Assembly_F#_Lambda - Fatal编程技术网

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

Assembly 在F中获取引用的程序集#,assembly,f#,lambda,Assembly,F#,Lambda,我正在尝试通过迭代加载引用的程序集。 我加载程序集,并通过getRefs获取引用的程序集。getRefs没有任何输入参数,因此它应该是val getRefs:Assembly->AssemblyName[],但认为它是unit->AssemblyName[], 有什么想法吗 let getreffiles (name:string) = let loadAssembly (name:string)= Assembly.Load(name) let

我正在尝试通过迭代加载引用的程序集。
我加载程序集,并通过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);;  

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

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);;  

如果函数没有输入,则其输入类型为“unit”。这类似于C中的void,只是函数参数是显式的

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);;