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

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

这可能在F#中吗?

背景

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

===============>>#1 票数:10 已采纳

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

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

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

  ask by flq translate from so

未解决问题?本站智能推荐:

1回复

F#ExpandoObject作为字典

在工作缓慢的时候,我想将我编写的一个小数据库访问框架从C#转换为F#。 该框架广泛使用动力学和ExpandoObjects。 特别是,有一点让我头疼: 您如何将其转换为F#? 这就是我能想到的: 当然,除了字典在循环中出现空值。 ~~应该代替了C#中的as运算符,但我想事
13回复

如何检查c#中动态匿名类型上是否存在属性?

我有一个匿名类型对象,该对象是我想检查的对象中存在的属性作为动态方法接收的。 我将如何实现IsSettingExist?
2回复

在C#中按名称获取和保留属性引用的最佳方法是什么

我想知道是否有更好的方法(比我目前正在做的更好)来获取和持有仅使用对象和属性字符串名称的另一个对象中对属性的引用。 尤其是,是否有更好的方法利用.Net 4.0的新动态功能来做到这一点? 这就是我现在所拥有的。 我有一个“ PropertyReference<T> ”对
1回复

动态对象-整洁的属性名称?

我正在使用一些代码来执行SQL并返回IEnumerable动态对象。 该代码是在这里 ,如果你想看到它。 我有一个表,其列名称为APPLICATION_NAME; 在我的对象中,我必须像这样引用它: 有没有办法使属性名称解析为更整洁的东西? 即。 谢谢
1回复

从动态类型获取属性

我有一个动态类型 我怎么能现在什么属性有动态tuype返回??? 我不能通过对动态的反思来访问。
2回复

拦截动态属性访问器.NET 4

这是一个有趣的问题(至少对我来说):是否有可能拦截对象中的任意属性访问器(getter / setter),这样我可以在其他地方重新路由该请求,例如私有成员对象? 我喜欢它,如果我可以让它看起来好像我的外部对象自动访问内部对象的某些内部属性(即除少数例外之外的所有内容),调用者不知道,实际
1回复

如何创建有意义的动态属性?

这里的虚构例子。 假设我设计了一个名为IODevice的类。 这个类已经实现了一个允许我以下列方式使用它的结构: 这里的引脚是数字IO盒中的一系列IO线,可以变为高(1)或低(0)。 我想使用dynamic以下列方式调用它: 我的IO设备类现在看起来像这样,正如您将注意
1回复

如何编写一个返回动态对象的扩展方法?

我在考虑Regex.Match.Group如何保持动态: 想成为: 我考虑过编写一种扩展方法,该方法将允许: 并尝试以这种方式编写,但这是不允许的(“;”是“静态动态”所必需的) 有什么办法可以做到这一点? 在dynamic之前编写了许多其他API,这些A
2回复

使用propertyBuilder在运行时将属性添加到现有对象

一个对象具有一些属性,现在可以在运行时-满足条件时.. 我想向该对象添加新属性。 无法使用“ DynamicObject”,因为我不会事先知道属性Names 。 我来了acroos PropertyBuilder http://msdn.microsoft.com/zh-cn/lib
2回复

尝试设置本机属性时,动态关键字抛出RunTimebinderException

我正在使用动态关键字来处理外部程序集,并且只要访问它的方法和原始类型成员就可以正常工作。 所以例如我的类动态加载类看起来像followig: 我可以通过执行以下操作从程序集动态加载对象: 它无法使用以下代码: student.IsGood = true; studen