问题列表 - 第28225页

锁定一个对象

我经常看到这里显示的代码,即分配对象的位置,然后用作"锁定对象".

在我看来,你可以使用任何对象,包括事件本身作为锁对象.为什么要分配一个什么都不做的新对象?我的理解是在对象上调用lock()实际上不会改变对象本身,也不会实际锁定它被使用,它只是用作多个锁定语句锚定的占位符.

public class Shape : IDrawingObject, IShape
{
    // Create an event for each interface event
    event EventHandler PreDrawEvent;
    event EventHandler PostDrawEvent;

    object objectLock = new Object();

    // Explicit interface implementation required.
    // Associate IDrawingObject's event with
    // PreDrawEvent
    event EventHandler IDrawingObject.OnDraw
    {
        add
        {
            lock (objectLock)
            {
                PreDrawEvent += value;
            }
        }
        remove
        {
            lock (objectLock)
            {
                PreDrawEvent -= value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,这真的是一件好事吗?

c# locking

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

mysqldump命令不起作用?

我正在使用mysqldump来备份我的数据库,但命令不起作用..我正在使用的命令是mysqldump -u root dbname> 'c:\backupdatafolder\backup.sql' 我在MySQL cli中运行此命令但没有运行,...命令中有什么问题吗?

mysql mysqldump

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

什么是生成.tail IL指令的简单F#代码?

我想看看.tailIL指令,但是我使用尾调用的简单递归函数显然已优化为循环.我实际上正在猜测这个,因为我不完全确定Reflector中的循环是什么样的.我绝对没有看到任何.tail操作码.我在项目的属性中检查了"生成尾调用".我也在Reflector中尝试了Debug和Release版本.

我使用的代码来自Chris Smith的Programming F#,第190页:

let factorial x =
// Keep track of both x and an accumulator value (acc)
let rec tailRecursiveFactorial x acc =
    if x <= 1 then
        acc
    else
        tailRecursiveFactorial (x - 1) (acc * x)
tailRecursiveFactorial x 1
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一些简单的F#代码,它们确实会生成.tail

.net f# tail-recursion tail-call-optimization

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

使用AppWidgetProvider在Home Widget上显示ListView

我想创建一个包含ListView的Home Widget,但我不知道这是否可行,如果可能,该怎么做.我使用的是ListActivity,它很简单,但无法找到使用AppWidgetProvider的方法.

谢谢你的帮助

android listview widget

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

用于在打印机上整齐打印段落的算法

首先,这不是家庭作业,所以请不要将其标记为homewrok

我不明白这个问题.任何人都可以向我解释一下吗?这不是我不理解的英语,而是问题的一般要点.

alt text http://i47.tinypic.com/20jnwck.png

algorithm formatting text

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

为什么schema.rb在运行rake db:migrate时会发生变化(在Git眼中)?

我知道这是一个小小的将军,但它一直困扰着我.我一直在使用Git远程处理大量的rails项目,每次我做一个git pull并且看到有某种数据更改(迁移或schema.rb更改)我做了rake db:migrate.

这些通常运行正常,我可以继续工作.但是,如果你做了一个git pull然后git status,你的工作目录是干净的(显然)然后做一个rake db:migrate(显然有更改)和另一个git status,突然你的db/schema.rb已经改变.我一直在做一个git checkout立即重置回schema.rb文件的最新提交版本,但为什么这是必要的?!什么是铁路?更新时间戳?我似乎无法弄清楚差异是什么,但也许我只是错过了一些东西?

migration git ruby-on-rails

9
推荐指数
2
解决办法
3933
查看次数

以C#编程方式生成HTML,定位打印报告

我已经接管了一个能够打印信息的C#(2.0)代码库.执行此操作的代码非常繁琐.元素被绘制到每个页面上,魔术常量代表定位.我想程序员坐着一把尺子,通过测量和输入位置来设计每一页.是的,人们当然可以提出一些很好的抽象来使这种方法合理化.但我正在寻找一种不同的方法.

我的想法是,我将用生成静态HTML页面的代码替换当前打印的代码,将它们保存到文件中,然后在该文件上启动Web浏览器.最明显的好处是我不需要处理格式化 - 我可以让网络浏览器使用标签和CSS为我做这件事.

所以我要找的是一组非常轻量级的类,我可以用来帮助生成HTML.我不需要像HTMLTextWriter那样重量级的东西.我正在寻找的是避免像这样的碎片:

String.Format("<tr><td>{0}</td><td>{1}</td></tr>", foo, bar);
Run Code Online (Sandbox Code Playgroud)

而是采取这种感觉:

...
table().
    tr().
        td(foo).
        td(bar)
Run Code Online (Sandbox Code Playgroud)

或类似的东西.我见过其他语言的轻量级类,但是找不到C#的等价(或更好).我当然可以自己写,但我坚信不要重新发明轮子.

知道这样的事吗?知道什么比这更好吗?

html c# reporting

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

.NET按时区名称获取时区偏移量

在数据库中,我以UTC格式存储所有日期/时间.

我知道用户的时区名称(例如"美国东部标准时间").

为了显示正确的时间,我认为我需要将用户的时区偏移量添加到UTC日期/时间.但是如何通过时区名称来缩短时区?

谢谢!

.net c# timezone internationalization

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

textFieldShouldBeginEditing + UIKeyboardWillShowNotification + OS 3.2

我在UIView上有多个文本字段.

我在textFieldShouldBeginEditing方法中退出前一个textField,执行以下事件序列

  • 收到对应于隐藏前一个字段的键盘的字段的UIKeyboardWillHideNotification.

  • 方法textFieldShouldBeginEditing返回YES然后

  • 收到UIKeyboardWillShowNotification,显示当前字段的键盘.

但是,在OS 3.2中,即使textFieldShouldBeginEditing返回YES,也不会收到当前字段的UIKeyboardWillShowNotification.

该逻辑适用于OS <3.2

我可能做错了什么想法?

列在我的代码的一部分下面(xib中只有两个文本字段).

我需要在keyboardWillShow和keyboardWillHide上执行一组操作查看在OS 3.2和OS <3.2中运行代码的区别

任何人都可以解释行为上的差异吗?

.H

@interface ExampleViewController : UIViewController  
{
    IBOutlet UITextField *numericTextField;
    IBOutlet UITextField *alphaTextField;   
    UITextField *lastTextField;
    int lastCursorPos;
    int cursorPosition;
    NSMutableArray *textFields;
}

@property (nonatomic, retain) UITextField *lastTextField;
@property (nonatomic, retain) NSMutableArray *textFields;

@end
Run Code Online (Sandbox Code Playgroud)

.M

- (void)viewWillAppear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) 
                                                 name:UIKeyboardWillShowNotification object:self.view.window]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) 
                                                 name:UIKeyboardWillHideNotification object:self.view.window]; 

    self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];
    self.textFields = [[NSMutableArray alloc] initWithCapacity:2];
    [self.textFields insertObject:alphaTextField atIndex:0];
    [self.textFields insertObject:numericTextField atIndex:1];
    cursorPosition = …
Run Code Online (Sandbox Code Playgroud)

iphone sdk uikeyboard

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

多线程Win32 GUI消息循环

什么时候需要在多线程应用程序中使用这种类型的修改消息循环?

DWORD nWaitCount;
HANDLE hWaitArray[4];
BOOL quit;
int exitCode;
while (!quit)
{
   MSG msg;
   int rc;
   rc = MsgWaitForMultipleObjects(nWaitCount, hWaitArray, FALSE, INFINITE,QS_ALLINPUT);

   if (rc == WAIT_OBJECT_O + nWaitCount)
   {
       while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
       {
        if (msg.message == WM_QUIT)
        {
            quit = TRUE;
            exitCode = msg.wParam;
            break;
        }
        TranslateMessage(&msg);
        DispatchMessage(&msg);
       }
   }
   else if (rc >= WAIT_OBJECT_0 && rc < WAIT_OBJECT_0 + nwaitCount)
   {
       int nlndex = rc - WAIT_OBJECT_0;
   }
   else if (rc >= WAIT_ABANDONED_0 && rc < …
Run Code Online (Sandbox Code Playgroud)

winapi multithreading

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