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

时间:2011-12-11 20:32:17

标签: c# dynamic .net-4.0 f#

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

[return: DynamicAttribute]
public object Xyz() {
  return new ExpandoObject();
}

这可能在F#中吗?

背景

我想要一个用F#编写的库的方法,它将在C#等语言中使用,以从方法返回“dynamic”。如果我查看从C#编译的类似定义的方法,似乎返回类型是对象,DynamicAttribute应用于对象的返回值。

1 个答案:

答案 0 :(得分:10)

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

let SomeFunc x : [<return: SomeAttribute>] SomeType =
    SomeOperation x

请参阅this MSDN page末尾如何指定属性目标的表格。