Xamarin/Android:F# 作用域 - 如何在不同的文件中查看命名空间?
我知道这听起来很基础,但我似乎无法让它发挥作用。我将举例说明:
我开始一个新的解决方案,我选择一个新的 F# Android 应用程序并将其命名为 FSScopeTest1,给我 MainActivity.fs
namespace FSScopeTest1
open System
open Android.Content
open Android.OS
open Android.Runtime
open Android.Views
open Adroid.Widget
[<Activity (Label = "FSScopeTest1", MainLauncher = true)>]
type MainActivity () =
inherit Activity ()
let mutable count:int = 1
override this.OnCreate (bundle) =
base.OnCreate (bundle)
// Set our view from the "main" layout resource
this.SetContentView (Resource_Layout.Main)
// Get our button from the layout resource, and attach an event to it
let button = this.FindViewById<Button>(Resource_Id.myButton)
button.Click.Add (fun args ->
button.Text <- sprintf "%d clicks" count
count <- count + 1
)
然后我添加一个新的 F# 源文件 ScopeTestNS.fs
namespace ScopeTestNS
module ScopeTestMod =
let astr = "some text"
然后我在第二行添加到 MainActivity.fs:
open ScopeTestNS
并更改 button.Click.Add 的 Lamba 表达式以读取
button.Click.Add (fun args ->
// button.Text <- sprintf "%d clicks!" count
// count <- count + 1
button.Text <- ScopeTestMod.astr
)
现在,当我构建解决方案时,出现错误:
The namespace or module "ScopeTestMod" is not defined.
如何使我的命名空间 ScopeTestNS 在 MainActivity.fs 中可见,以便我可以看到我在那里定义的任何模块?
非常感谢,罗斯