小编N_A*_*N_A的帖子

将std:vector转换为NSArray

是否有一个转换的好方法vector<int32_t>NSArrayNSNumber或循环,并增加了NSMutableArray相当多的唯一途径?

c++ vector objective-c++ nsarray

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

F#中的C#对象初始化语法

请注意:这个问题和这个问题一样.

我最近遇到了一些我以前没有遇到过的C#语法:

在F#中有没有办法做到这一点?

class Two
{
    public string Test { get; set; }
}

class One
{
    public One()
    {
        TwoProperty = new Two();
    }
    public Two TwoProperty { get; private set; }
}

var test = new One(){ TwoProperty = { Test = "Test String" }};
Run Code Online (Sandbox Code Playgroud)

(注意TwoProperty当setter是私有时初始化器中的初始化 - 它是在存储的对象上设置属性TwoProperty,但不在Two属性中存储新实例)

编辑:我最近在monotouch的构造函数中遇到了一些C#代码,如下所示:

nameLabel = new UILabel {
    TextColor = UIColor.White,
    Layer = {
        ShadowRadius = 3,
        ShadowColor = UIColor.Black.CGColor,
        ShadowOffset …
Run Code Online (Sandbox Code Playgroud)

c# f# object-initializers c#-to-f#

14
推荐指数
2
解决办法
2326
查看次数

检查WinRT中的项目中是否存在文件

我有一个WinRT Metro项目,它根据所选项目显示图像.但是,某些选定的图像将不存在.我想要做的是陷入不存在的情况并显示替代方案.

到目前为止,这是我的代码:

internal string GetMyImage(string imageDescription)
{
    string myImage = string.Format("Assets/MyImages/{0}.jpg", imageDescription.Replace(" ", ""));

    // Need to check here if the above asset actually exists

    return myImage;
}
Run Code Online (Sandbox Code Playgroud)

示例调用:

GetMyImage("First Picture");
GetMyImage("Second Picture");
Run Code Online (Sandbox Code Playgroud)

所以Assets/MyImages/SecondPicture.jpg存在,但Assets/MyImages/FirstPicture.jpg没有.

起初我想过使用WinRT相当于File.Exists(),但似乎没有.无需尝试打开文件并捕获错误,我可以简单地检查文件是否存在,或者文件是否存在于项目中?

windows-8 windows-runtime windows-store-apps

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

是否可以将两个调试器连接到一个进程?

是否可以将两个调试器连接到一个进程?

最近,我开发了一个HTML5/CSS的Metro风格应用程序,它调用了一个用C#编写的Window Runtime组件.我想要做的是将两个调试器连接到同一个进程.一个在JavaScript,另一个在C#代码.

我遵循的第一步:

我打开了两个针对同一解决方案的visual studio实例.

  • 我在JavaScript代码中放置了一个断点,并通过VS实例1运行应用程序.
  • 但是,当我尝试通过VS实例2在C#窗口运行时组件中附加第二个调试器时,它给出了一个对话框,说"调试器已经附加到进程".

我已经看过一个Window Runtime演示文稿,其中扬声器也成功地做了同样的事情.请帮助我解决这个问题.

windows microsoft-metro windows-8

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

是否存在Dot.Net 4.5异步计时器

我想有一个计时器,我可以等待await关键字.我只是好奇它是否存在?

.net c#

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

声明性进度条绑定

在将按钮的命令绑定到动作之后,我调用一个公开progress事件的对象.

event System.EventHandler<ProgressChangedEventArgs> ProgressChanged
Run Code Online (Sandbox Code Playgroud)

我想以最好的方式在我的XAML中显示它.


一种方法是在我的VM中公开两个可绑定字段

member x.Iteration with get()     = _iteration
                   and set(v:int) = _iteration <- v
                                    x.NotifyPropertyChanged <@this.Iteration@>

member x.IterationVisible with get()      = _iterationVisible
                          and set(v:bool) = _iterationVisible <- v
                                            x.NotifyPropertyChanged <@this.IterationVisible@>
Run Code Online (Sandbox Code Playgroud)

然后我被调用来执行动作我只会更新属性

member x.CompleteInference(algorithm:IGeneratedAlgorithm) =
    x.IterationVisible <- true
    algorithm.ProgressChanged.Add(fun args -> x.Iteration <- args.Iteration)
    algorithm.run()
    x.IterationVisible <- false
Run Code Online (Sandbox Code Playgroud)

这导致了两个问题:

  • 是否有一个直接的方式F#揭露progressChanged事件,而无需通过这种中间去Iteration属性,可以通过WPF来处理?它是我们可以得到/做的最具声明性的我们总是要在某个地方存储一些状态吗?

  • 另外,是否有一种自然的方式来完全在XAML中进行 "状态机"绑定?

wpf xaml f#

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

交叉编译C++/Objective-C++时出错

我有一个Objective-C++项目引用的C++库.该库自身编译良好,Objective-C++项目编译良好,直到我从库中实例化第一个类(使用对象指针).在使用我的库中的类之前,我引用了string不会导致问题的stl 对象.

我收到以下错误:

Undefined symbols for architecture i386:
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
      __verify_callback_c in *************.a(cxx_db.o)
      DbEnv::_stream_message_function(__db_env const*, char const*) in *************.a(cxx_env.o)
      DbEnv::_stream_error_function(__db_env const*, char const*, char const*) in *************.a(cxx_env.o)
  "std::basic_ios<char, std::char_traits<char> >::fail() const", referenced from:
      __verify_callback_c in *************.a(cxx_db.o)
  "std::ios_base::Init::Init()", referenced from:
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_db.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_dbc.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_dbt.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_env.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_mpool.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_txn.o)
      __static_initialization_and_destruction_0(int, int) in *************.a(cxx_lock.o)
      ... …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-errors objective-c++

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

用户在Swift中定义的chooseStepFunction()中两个箭头的目的是什么?

双箭头在最后一个函数的返回类型中表示什么?

它们是否用于表示两种不同的返回值?

如果是这样,你怎么知道箭头在哪个顺序,如果函数chooseStepFunction()是不同的类型?例如,如果stepForward()退回了String

func stepForward(input: Int) -> Int{
    return input + 1
}

func stepBackward(input: Int) -> Int{
    return input - 1
}

func chooseStepFunction(backwards: Bool) -> (Int) -> Int{
    return backwards ? stepBackward: stepForward
}
Run Code Online (Sandbox Code Playgroud)

function swift

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

如何使用F#从列表中选择随机值

我是F#的新手,我正在试图弄清楚如何从列表/字符串数组中返回一个随机字符串值.

我有一个这样的列表:

["win8FF40", "win10Chrome45", "win7IE11"]
Run Code Online (Sandbox Code Playgroud)

如何从上面的列表中随机选择并返回一个项目?

这是我的第一次尝试:

let combos = ["win8FF40";"win10Chrome45";"win7IE11"]  

let getrandomitem () =  
  let rnd = System.Random()  
  fun (combos : string[]) -> combos.[rnd.Next(combos.Length)]  
Run Code Online (Sandbox Code Playgroud)

random f# f#-interactive

7
推荐指数
3
解决办法
2492
查看次数

如何防止属性设置器修改私有属性数据

让我通过提出一个假设的情况来解释我的问题.让我们从课程开始:

public class PaymentDetails
{
    public int Id {get;set;}
    public string Status {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

然后我又上了一堂课:

public class PaymentHelper
{
    private PaymentDetails _paymentDetails;
    public PaymentDetails MyPaymentDetails{ get { return _paymentDetails; } }

    public PaymentHelper()
    {
        _paymentDetails = new PaymentDetails(); 
    }

    public void ModifyPaymentDetails(string someString)
    {
        // code to take the arguments and modify this._paymentDetails
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,所以我有这两个类.PaymentHelper已将该属性MyPaymentDetails设为只读.

所以我不能像这样实例化PaymentHelper和修改MyPaymentDetails:

PaymentHelper ph = new PaymentHelper();
ph.MyPaymentDetails = new PaymentDetails(); // Not allowed!!! 
Run Code Online (Sandbox Code Playgroud)

但我可以ph.MyPaymentDetails像这样修改里面的公共属性: …

c# oop

5
推荐指数
2
解决办法
3369
查看次数