在C#中可以将一个属性应用于方法的返回:
[return: DynamicAttribute]
public object Xyz() {
return new ExpandoObject();
}
这可能在F#中吗?
背景:
我想要一个用F#编写的库的方法,它将在C#等语言中使用,以从方法返回“dynamic”。如果我查看从C#编译的类似定义的方法,似乎返回类型是对象,DynamicAttribute应用于对象的返回值。
答案 0 :(得分:10)
当然,您可以为返回值应用类似的属性目标。
let SomeFunc x : [<return: SomeAttribute>] SomeType =
SomeOperation x
请参阅this MSDN page末尾如何指定属性目标的表格。