将属性应用于返回值 - 在F#中

flq*_*flq 8 c# f# dynamic .net-4.0

在C#中,可以将一个属性应用于方法的返回:

[return: DynamicAttribute]
public object Xyz() {
  return new ExpandoObject();
}
Run Code Online (Sandbox Code Playgroud)

这可能在F#中吗?

背景:

我想要一个用F#编写的库的方法,它将以类似C#的语言使用,以从方法返回"动态".如果我查看从C#编译的类似定义的方法,似乎返回类型是对象,DynamicAttribute应用于对象的返回值.

Jef*_*ado 10

当然,您可以为返回值应用类似的属性目标.

let SomeFunc x : [<return: SomeAttribute>] SomeType =
    SomeOperation x
Run Code Online (Sandbox Code Playgroud)

请参阅此MSDN页面末尾如何指定属性目标的表.