小编Dav*_*cia的帖子

如何在TypeScript 0.9.5中以编程方式枚举枚举类型?

假设我有一个TypeScript枚举MyEnum,如下所示:

enum MyEnum {
    First,
    Second,
    Third
}
Run Code Online (Sandbox Code Playgroud)

TypeScript 0.9.5中生成枚举值数组的最佳方法是什么?例:

var choices: MyEnum[]; // or Array<MyEnum>
choices = MyEnum.GetValues(); // plans for this?
choices = EnumEx.GetValues(MyEnum); // or, how to roll my own?
Run Code Online (Sandbox Code Playgroud)

enums typescript

78
推荐指数
5
解决办法
5万
查看次数

"首选32位"编译器标志对Visual Studio(C#,VB)意味着什么?

刚刚安装了Visual Studio 11开发人员预览版.在编译指定了AnyCPU目标的托管(C#,VB)应用程序时,我在项目属性中看到一个名为"Prefer 32-bit"的新选项.这似乎不是类库的选项,只是顶级应用程序.

这个标志表示什么?

c# vb.net compiler-flags visual-studio-2012

27
推荐指数
1
解决办法
1万
查看次数

是否应将扩展属性添加到C#4.0?

我希望这能用于流畅的界面.见,例如这个 Channel9的讨论.可能还需要添加索引属性.

你的想法是什么?优势会超过"语言混乱"吗?

c#

17
推荐指数
3
解决办法
6037
查看次数

可以/应该将任务<TResult>包装在C#5.0中,等待TResult中的协变吗?

我真的很喜欢使用C#5.0异步编程.但是,有些地方更新旧代码以与TAP模型保持一致会给我带来问题.

这是其中之一 - 我不确定为什么Task<TResult>在TResult中没有协变,但是在尝试更新协变接口以从同步模式转换为异步模式时,它会给我带来问题:

旧代码:

public interface IInitializable<out T> // ** out generic modifier **
{
    /// <summary>
    /// Boolean to indicate if class is ready
    /// </summary>
    bool IsInitialized { get; }

    /// <summary>
    /// Calls for instance to be initialized using current parameters
    /// Driver initialization can be done in the default constructor if desired
    /// </summary>
    T Initialize();
}
Run Code Online (Sandbox Code Playgroud)

新代码(不会编译):

public interface IAsyncInitializable<out T> // ** out generic modifier...broken **
{
    /// <summary>
    /// Boolean …
Run Code Online (Sandbox Code Playgroud)

c# covariance task-parallel-library async-await c#-5.0

11
推荐指数
2
解决办法
1463
查看次数

如何在Json.Net中跳过IEnumerable类型的默认JavaScript数组序列化?

一些实现IEnumerable的自定义类型不一定具有后备集合.它们可以动态生成,例如使用'yield'或LINQ.这是一个例子:

public class SOJsonExample
{
    public class MyCustomEnumerable : IEnumerable<KeyValuePair<int,float>>
    {
        public List<int> Keys { get; set; }
        public List<float> Values { get; set; }

        public MyCustomEnumerable()
        {
            Keys = new List<int> { 1, 2, 3 };
            Values = new List<float> { 0.1f, 0.2f, 0.3f };
        }

        public IEnumerator<KeyValuePair<int, float>> GetEnumerator()
        {
            var kvps =
                from key in Keys
                from value in Values
                select new KeyValuePair<int, float>(key, value);

            return kvps.GetEnumerator();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return this.GetEnumerator();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现Json.NET的默认序列化是枚举每个值并将值存储在JavaScript数组中(我不想要).然后,默认的反序列化器将无法反序列化集合,因为它无法填充.在这些情况下,我想要Json.NET跳过默认的JavaScript数组序列化,只需存储类的成员. …

c# ienumerable serialization json json.net

8
推荐指数
1
解决办法
1267
查看次数

如何创建一个自定义图像装饰器加载项在Visual Studio 2010中的数值数组?

我有很多浮点图像的工作,会发现它非常有用有我的数组的基于图像的表示.我想创建一个用户控件WPF呈现所述数据阵列(如下所示)作为图像,而不是文本值的可滚动列表.

这可能吗?我已经看了看MDSN文档上的VS 2010的可扩展性,在SO的VS 2010扩展名列表,在这个话题上创建一个自定义编辑器,但我从哪里开始有点失落.

替代文字

更新1:

感谢Brian和Basarat Ali在DebuggerVisualizer上的领导.看起来是正确的策略,除了不幸的是,不允许任何类型的数组的可视化器.

解决方法(有限的实用程序)是可视化包装器对象.

在Brian的建议下,我在CodePlex上发布了一个解决方案:

VS2010 Debugger Visualizers Contrib(http://debuggervisualizers.codeplex.com/).

该项目的源代码演示了一个工作包装器可视化器和一个用于1D double []阵列的非功能性"原始"数据可视化器.这是测试控制台运行的屏幕截图:

替代文字

如果有人对如何解决这个问题有任何建议,请告诉我!

此外,欢迎任何解释为什么System.Array无法可视化!

更新2:

我只是用DebuggerVisualizer这个词重新搜索了SO,并发现这是先前要求的.看起来用户Will Dean建议使用WeakReference实现Project Mole的解决方案.但是,不要看看这在DebuggerVisualizer中是如何工作的.

更新3:

约什-史密斯项目鼹鼠只是提出一个非常有益的工作,各地(感谢约什- !):

注意,您可以使用ArrayWrapper方法,而无需修改源代码以打开可视化工具.您可以在VS中的Watch窗口中输入:

new YourNamespace.ArrayWrapper(myArray);

按Enter键,然后您应该在该行代码旁边的Watch窗口中看到一个放大镜图标.单击它以打开自定义可视化工具.

wpf add-in data-visualization adorner visual-studio-2010

7
推荐指数
1
解决办法
881
查看次数

可以在调试上下文中使用Mono编译器作为服务吗?

我想知道是否以及如何在调试环境中使用Mono编译器作为服务(参见此处此处),以在调试器中的运行时查询/修改/可视化/ etc对象.目前,根据这篇SO帖子,Roslyn CTP不支持此功能.

c# compiler-construction mono gmcs

7
推荐指数
1
解决办法
357
查看次数

在 WPF 双向绑定中,如何检查是 UI 元素还是 ViewModel 触发了绑定更改?

我不确定要搜索什么关键字……迷失在谷歌的海洋中。

我在 ViewModel 中的可视元素(滑块)和数值之间指定了双向数据绑定。我想区分用户发起的值更改和基于 ViewModel 的值更改,以便我可以有选择地触发应用程序中其他位置的事件。如何在 XAML 文件的代码隐藏中执行此操作?

2015 年 2 月 26 日更新:在回复 Amit 的问题时,为什么我需要此功能是因为我实际上有多个可视元素设置为 2 向数据绑定到同一 ViewModel 源,因此不区分会导致无限循环(堆栈溢出)在对依赖代码的回调中,这些代码本身具有更新相同值的能力。

抛开 - 第一次在 SO 上适当地使用“堆栈溢出”时,难道不应该有声望点吗?

c# data-binding wpf xaml mvvm

7
推荐指数
1
解决办法
1664
查看次数

您称之为通用(非GUI相关)"模型 - 视图 - 控制器"架构?

我目前正在重构代码,协调多个硬件组件进行数据采集,感觉有点像我正在重新创建轮子.特别是,类似 MVC的模式似乎正在出现.除此之外,这与GUI无关,我担心我会强迫这种特殊模式,而另一种可能更合适.这是我的情景:

各个硬件"组件"类遵循每种硬件类型的接口契约.以前,组件实例由单个整体InstrumentController类编排,该类严重依赖于配置+分支逻辑来执行特定的采集序列.在迭代之后,我为每个组件都有一个单独的控制器,这些控制器都由一个小型InstrumentControllerBase(或其衍生物)管理.复合系统将以编程方式或通过硬件间组件触发来接收"输入" - 在任何一种情况下,这些交互都被路由到适当的控制器并由其处理.

所以,我有一些感觉MVC式的东西,但我不知道是不是因为我强迫要点.由于在应用程序开发方面没有直接的MVC经验,我很难知道我是否只是想让我的场景适合MVC,其中另一种模式可能是一个很好的选择或免费.我的问题是,这些模式系列的搜索结果维基文档似乎立即让我进入特定于GUI的讨论.

我理解"M代表模型数据而V代表视图" - 但你称之为超集模式是什么?组件的指挥官 - 控制器?

我可以从中挖掘示例示例吗?

architecture model-view-controller design-patterns

6
推荐指数
1
解决办法
635
查看次数

TypeScript 中的 Allman 风格大括号

是否可以调整 TypeScript 编译器以允许在经典破坏 JavaScript 代码的地方安全使用 Allman 风格的大括号?TypeScript 旨在生成惯用的 JavaScript,因此无论如何都会以 K&R 样式生成结果大括号。

举个例子:

// currently breaks in JS (and won't compile in TypeScript)
function getPerson() {        
    // compiler inserts semicolon after return, return executes prematurely
    return 
    {
        firstname: "Eric",
        lastname: "Allman"
    };
}
Run Code Online (Sandbox Code Playgroud)

PS我只是好奇;对与普遍接受的 JS 实践背道而驰是否是一个“好主意”的争论并不感兴趣。

indentation curly-braces typescript

5
推荐指数
1
解决办法
1800
查看次数

工具可用于(或不使用)_references.ts自动解析和订购TypeScript依赖项?

我正试图弄清楚新的"_references.ts"工作流程,感觉我错过了使用/组合多个文件(没有外部模块)并仍然生成正确的"依赖顺序".js代码的东西.从Visual Studio 2013中的标准"greeter"模板示例开始,我:

  1. 将Greeter类重构为名为greeter.ts的文件
  2. 选择项目属性页面中的"组合JavaScript输出"选项,将其替换为HTML中的新脚本目标
  3. 创建一个"_references.ts"文件,并以正确的顺序手动添加对我的两个源文件的引用,首先是"greeter.ts",然后是"app.ts"

这编译并运行良好.由于"所有.ts文件引用了项目中的所有其他文件"功能,从TypeScript 0.9.1开始,我从未必须从"app.ts"明确引用"greeter.ts".提前考虑一个大型项目,这将非常方便.

但是,这只是故事的一半(除非我遗漏了一些东西......也是JavaScript的新手,所以这很可能).如何在"_references.ts"中自动订购列表(例如自动生成)?在我看来Visual Studio(TypeScript编译器?)已经知道正确的排序.我希望将C#应用程序移植到数百个类中,手动订购这些应用程序将是一项艰巨的任务.是否有"计划"功能在1.0中执行此操作,还是应该查看第三方工具?我找到了咕噜声 ......我是在正确的轨道上吗?

javascript dependencies gruntjs typescript visual-studio-2013

5
推荐指数
1
解决办法
2004
查看次数

何时在C++ AMP中调用"synchronize()"不是必需的?

背景:有关C++ AMP概述,请参阅Daniel Moth 最近的BUILD演讲.

在这里,这里,这里这里进行初步的演练.

只有在最后一次参考时他们才会打电话给array_view.synchronize().

在这些简单的例子中,是synchronize()不是需要呼叫?什么时候可以安全排除?我们能否相信parallel_for_each在没有它的情况下"同步"行为(w/r/t正在进行的代码)?

c++ c++-amp

3
推荐指数
1
解决办法
951
查看次数

如何枚举C++ AMP中的所有加速器?

在C++ AMP中,如何检测和枚举所有C++ AMP加速器?

Don McCrady 在这里发布了一个应用程序,列举了非仿真加速器.虽然我有一张DX11卡(GTX 260),但我没有看到任何可用的加速器.Daniel Moth 在这里展示如何查询单个加速器,但我找不到如何使用C++ AMP调用枚举所有(模拟和非加速)加速器.

c++ c++-amp

1
推荐指数
1
解决办法
1012
查看次数