c# – 在f#中实现接口

这是我的c#界面:

public interface ITemplateService
{
    string RenderTemplate(object model, string templateName);
    string RenderTemplate(object model, string templateName, string directory);
}

我正在尝试在F#中进行实现,但在关键字结束时出错. (实现文件中的意外结束)

module TemplateService

open DotLiquid

type TemplateService = 
    inherit ITemplateService

        member this.RenderTemplate model (templateName:string):string = ""
        member this.RenderTemplate model (templateName:string, directory:string):string = ""
end//error here.

PS. F#中的代码是什么:

Template template = Template.Parse(stringToTemplate);
template.Render(Hash.FromAnonymousObject(model));
除了ChaosPandion的回答:

类可以像这样定义:

type ClassName(constructorArguments) =
  class
    ...
  end

或者像这样:

type ClassName(constructorArguments) =
  ...

因此,您既需要class和end关键字,也不需要它们.通常人们使用表格
没有阶级和结束.

您的其他代码段看起来像这样:

let template = Template.Parse stringToTemplate
template.Render (Hash.FromAnonymousObject model)
相关文章
相关标签/搜索