F#:作为参数的类(Lucene.net 3.0.3)

F#:作为参数的类(Lucene.net 3.0.3),f#,F#,假设我有一个指示: CharTermAttribute cattr = stream.addAttribute(CharTermAttribute.class); 注意:CharterMatAttribute.class是一个类 在F#中,可能是这样的: let cattr:CharTermAttribute = stream.addAttribute(..........) 我怎么能对F#说(CharTermAttribute.class)是一个类我不是Lucene.NET专家,但如果您试

假设我有一个指示:

CharTermAttribute cattr = stream.addAttribute(CharTermAttribute.class);
注意:CharterMatAttribute.class是一个类

在F#中,可能是这样的:

let cattr:CharTermAttribute = stream.addAttribute(..........)

我怎么能对F#说(CharTermAttribute.class)是一个类

我不是Lucene.NET专家,但如果您试图在.NET版本中调用,这是一个通用方法,您可以将其称为:

let cattr = stream.addAttribute<CharTermAttribute>()
let cattr=stream.addAttribute()
根据问题和错误:AddAttribute()只接受扩展属性的接口,您必须在AddAttribute方法的泛型约束中使用CharterMatAttribute等类型的接口。例如:

var cattr = stream.AddAttribute<ICharTermAttribute>();
var another= stream.AddAttribute<IPositionIncrementAttribute>();
var cattr=stream.AddAttribute();
var-other=stream.AddAttribute();

AddAttribute方法如下所示:.public virtual T AddAttribute()其中T:IAttribute{var attClass=typeof(T);error:AddAttribute()只接受扩展属性的接口调用方必须传入一个类您能发布您收到的确切错误消息吗?