我想有一个空白的构造函数和一个接受参数并将其分配给公共属性的构造函数重载.
这是我被困的地方:
type TemplateService() =
interface ITemplateService with
//Properties
member TemplateDirectory = ""
//Constructors
new (templateDirectory:string) = //Error here.
if (templateDirectory == null) then
raise (new System.ArgumentNullException("templateDirectory"))
TemplateDirectory = templateDirectory;
Run Code Online (Sandbox Code Playgroud)
它给了我错误:对象表达式中的'意外关键字'new'.预期的"会员","覆盖"或其他令牌.
如果我使用member,该属性TemplateDirectory会出现此错误:
This instance member needs a parameter to represent the object being invoked. Make the member static or use the notation 'member x.Member(args) = ...'
你可以试试这个.
type TemplateService(templateDirectory : string) =
do
if templateDirectory = null then nullArg "templateDirectory"
new() = TemplateService("")
interface ITemplateService with
member this.TemplateDirectory = templateDirectory
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1556 次 |
| 最近记录: |