小编Val*_*yev的帖子

WPF等效于Application.AddMessageFilter(Windows窗体)

Application.AddMessageFilter()在我的WinForms应用程序中使用(使用非托管代码时).

现在我正在切换到WPF无法找到此功能.

请告知可以找到或实施的地方.

windows wpf winapi interop

7
推荐指数
2
解决办法
2718
查看次数

如何使用jQuery创建多个HTML元素?

我要做的是使用jQuery创建一个表分页器控件.它包含许多链接和跨度.我已经设法用普通的字符串连接来做到这一点,但我无法相信jQuery不能使它更优雅.我不能在这里使用jTemplates,因为这一代有很多程序逻辑.

问题:有没有办法用jQuery创建一个HTML元素数组并将它们附加到某个容器?

谢谢.

html javascript jquery

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

找到标志枚举长度的有效方法?

考虑一下:

[Flags]
enum Colors
{
    Red=1,
    Green=2,
    Blue=4
}

Colors myColor=Colors.Red|Colors.Blue;
Run Code Online (Sandbox Code Playgroud)

目前,我的做法如下:

int length=myColors.ToString().Split(new char[]{','}).Length;
Run Code Online (Sandbox Code Playgroud)

但我希望有一种更有效的方法来查找长度,可能基于bitset操作.

如果可能,请说明解决方案的原因和方式.

此外,如果这是重复,请指出它,我将删除此问题.关于SO我能找到的唯一类似的问题关注的是找到所有可能的Colors枚举组合的长度,而不是myColors变量的长度.

更新:我仔细地对每个解决方案进行了基准测试(每个解决方案1 ​​000 000次),结果如下:

  1. Stevo3000 - 8ms
  2. MattEvans - 10ms
  3. Silky - 34ms
  4. 卢克 - 1757ms
  5. Guffa - 4226ms
  6. Tomas Levesque - 32810ms

Stevo3000是一个明显的赢家(Matt Evans持有银牌).

非常感谢您的帮助.

更新2:此解决方案运行速度更快:100 000次迭代时为41 ms(比Stevo3000快约40倍(32位操作系统))

UInt32 v = (UInt32)co;
v = v - ((v >> 1) & 0x55555555); 
v = (v & 0x33333333) + ((v >> 2) & 0x33333333); 
UInt32 count = ((v + (v …
Run Code Online (Sandbox Code Playgroud)

c# enums flags

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

Mercurial工作流问题(如何处理配置文件)

我有一个长期存在的问题:在工作中我们使用mercurial作为DSCM,但我们无法弄清楚如何保持我们的配置文件同步.

问题是我们想要跟踪配置文件并希望能够在开发人员之间交换配置文件内容,但是每个开发人员都想让他的connectionStrings部分独立于其他部分.

是否可以以某种方式跟踪配置文件,但在拉动和推送时省略连接字符串部分?

我们尝试将配置文件添加到.hgignore但是当有人添加一些对配置文件很重要的东西时,我们必须通过电子邮件分享它.

谢谢.

.net mercurial

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

如何创建一个将IO String转换为IO [String]的Haskell函数?

我已经开始学习Haskell并感到不知所措.我现在正在尝试创建一个函数,该函数从标准输入或文件列表的内容返回一个字符串.换句话说,我正在尝试复制Unix wc实用程序的行为,该实用程序在没有给出文件时从stdin获取输入.

我创造了这样的东西:

parseArgs [] = [getContents]
parseArgs fs = mapM readFile fs
Run Code Online (Sandbox Code Playgroud)

但是它没有编译,因为在一种情况下我有[IO String]而在另一个IO [String]中.在所有情况下,我无法使此模式匹配以返回IO [String].请指出正确的方向.

io monads haskell

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

Rust Json序列化重叠职责

我正在学习Rust中的Json序列化,特别是如何将Rust对象序列化为Json.

目前我看到3种将结构实例转换为Json的方法:

  1. 推导可编码特征

  2. 手动实施ToJson特质

  3. 手动实现Encodable特征

以下代码说明了所有3种方法:

extern crate serialize;

use serialize::{Encoder, Encodable, json};
use serialize::json::{Json, ToJson};
use std::collections::TreeMap;

fn main() {
  let document = Document::new();
  let word_document = WordDocument::new();
  println!("1. Deriving `Encodable`: {}", json::encode(&document));
  println!("2. Manually implementing `ToJson` trait: {}", document.to_json());
  println!("3. Manually implementing `Encodable` trait: {}", json::encode(&word_document));
}

#[deriving(Encodable)]
struct Document<'a> {
  metadata: Vec<(&'a str, &'a str)>
}

impl<'a> Document<'a> {
  fn new() -> Document<'a> {
    let metadata = vec!(("Title", "Untitled Document 1"));
    Document {metadata: metadata}
  }
}

impl<'a> …
Run Code Online (Sandbox Code Playgroud)

serialization json rust

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

从后台线程捕获异常

并发同事.

我需要能够捕获可能从后台线程抛出的异常.

让代码说明一下(这是一个糟糕的代码)

 public delegate bool CheckForUpdatesHandler(Uri uri);
    public class UpdatesChecker {
        public event AsyncCompletedEventHandler CheckForUpdatesAsyncCompleted;
        protected virtual void OnCheckForUpdatesAsyncCompleted(AsyncCompletedEventArgs args) {
            if (CheckForUpdatesAsyncCompleted != null)
                CheckForUpdatesAsyncCompleted(this, args);
        }

        public bool CheckForUpdates(Uri ftp) {            
            Thread.Sleep(1000);
            throw new Exception("bla");
            return true;
        }     


        public void CheckForUpdatesAsync(Uri ftp){            
            var action = new CheckForUpdatesHandler(CheckForUpdates);
            var c=action.BeginInvoke(ftp, delegate(IAsyncResult state) {
                OnCheckForUpdatesAsyncCompleted(new AsyncCompletedEventArgs(null, false, null));
            }, null);
        }    
    }
Run Code Online (Sandbox Code Playgroud)

c# multithreading

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

在客户端绑定JSON数据时如何避免'null'字符串

将JSON数据绑定到HTML UI时,是否可以避免在客户端上出现"NULL"蜇?

我正在使用ASP.NET MVC + jQuery + jTemplates.数据来自linq-to-sql类,这些类具有相当多的可空属性.当这些属性被序列化并转移回客户端时,我最终得到了这样的JSON:

[{"Id":1,"SuitId":1,"TypeId":null,"Type":null,"CourtId":null,"Court":null}]
Run Code Online (Sandbox Code Playgroud)

乳清我把这个数据绑定到HTML我有很多'NULL'字符串.我尝试了手动绑定和JavaScript模板引擎(jTemplate).结果是一样的.目前我通过'合并'空值来处理这个问题,如下所示:

$('#Elem').val(someVar||'');
Run Code Online (Sandbox Code Playgroud)

但我不想手动完成.

如果我:请建议:

  1. 可以通过调整序列化过程或者通过.NET JSON序列化程序选择第三方JSON序列化程序,自动将可空属性转换为空字符串.
  2. 可以在客户端执行任何操作,例如使用jQuery或模板引擎解决此问题.

谢谢.

javascript asp.net-mvc jquery json

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

在ASP.NET MVC中使用域对象和视图模型时避免验证逻辑重复的良好实践

常见场景:

层次结构域模型被映射到平面视图模型以用于呈现目的.

我在我的域中有一个完整的验证设置,并希望避免将视图模型映射到域对象,只是为了找出某些属性是无效的.我也不想在视图模型中复制验证逻辑.

这里有什么好的做法?

我反对视图模型和域对象的接口,因为视图模型通常是字符串和扁平的,而域对象通常是嵌套的,并且具有许多其他属性的数据类型.

我正在考虑一些可插拔的验证器,它将足够智能地验证域对象和视图模型,但对实现有点怀疑.

但为了简单起见,我倾向于这种方法:

服务器端验证仅在域模型中发生; 视图模型未经过验证,但使用JavaScript在客户端上验证数据.因此,在大多数情况下,我的视图模型将是有效的,验证逻辑将保留在一个位置,并且仅在域模型中发生.这种方法有一个缺点,即asp.net mvc 2验证将无法支持它.你怎么看?

谢谢.

validation asp.net-mvc

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

DB索引是否占用与列数据相同的磁盘空间量?

如果我有一个包含数据的表列并在此列上创建索引,索引是否会占用与列本身相同的磁盘空间量?

我很感兴趣,因为我试图理解b-tree是否真的保留了叶子节点中列数据的副本,或者它们以某种方式指向它?

对不起,如果这是"Java会取代XML吗?" 善意的问题.

更新:

使用单个GUID列创建了一个没有索引的表,添加了1M行--26MB

与主键相同的表(聚簇索引) - 25MB(甚至更少!),索引大小 - 176KB

具有唯一键的相同表(非聚集索引) - 26MB,索引大小 - 27MB

因此,只有非聚簇索引占用的空间与数据本身一样多.

所有测量都在SQL Server 2005中完成

database sql-server indexing b-tree

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