小编Def*_*ult的帖子

577
推荐指数
13
解决办法
51万
查看次数

我的枚举可以有友好的名字吗?

我有以下内容 enum

public enum myEnum
{
    ThisNameWorks, 
    This Name doesn't work
    Neither.does.this;
}
Run Code Online (Sandbox Code Playgroud)

enum带有"友好名字"的s 不可能吗?

c# enums

170
推荐指数
7
解决办法
15万
查看次数

Environment.GetFolderPath(... CommonApplicationData)仍然在Vista上返回"C:\ Documents and Settings \"

据我了解,你应该使用这个Environment.GetFolderPath方法,所以你有独立于操作系统的代码......

Windows XP使用C:\Documents and Settings\.Windows Vista使用C:\ProgramDataC:\Users.

我在Windows Vista计算机上使用下面的代码,它正在返回一个C:\Documents and Settings\目录而不是C:\ProgramData它应该...任何想法?

    string commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
    try
    {
        File.CreateText(
            Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) +
            "\\mycompany\\uid");
        log.Debug("Created file successfully");
    }
    catch (Exception ex)
    {
        log.Error("Unable to create the uid file: ", ex);
    }
Run Code Online (Sandbox Code Playgroud)

.net c#

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

正确的方法来延迟任务的开始

我想安排一个任务以x ms开始,并能够在它开始之前取消它(或者只是在任务开始时).

第一次尝试就像是

var _cancelationTokenSource = new CancellationTokenSource();

var token = _cancelationTokenSource.Token;
Task.Factory.StartNew(() =>
    {
        token.ThrowIfCancellationRequested();
        Thread.Sleep(100);
        token.ThrowIfCancellationRequested();
    }).ContinueWith(t =>
    {
        token.ThrowIfCancellationRequested();
        DoWork();
        token.ThrowIfCancellationRequested();
    }, token);
Run Code Online (Sandbox Code Playgroud)

但我觉得应该有一个更好的方法,因为这会在睡眠中耗尽一个线程,在此期间它可以被取消.

我还有什么其他选择?

.net c# task-parallel-library

53
推荐指数
3
解决办法
4万
查看次数

如何创建异步方法

我在C#app中有简单的方法,它从FTP服务器中挑选文件并解析它并将数据存储在DB中.我希望它是异步的,以便用户在App上执行其他操作,一旦完成解析,他必须得到消息"解析完成".

我知道它可以通过异步方法调用实现,但我不知道该怎么做才能有人帮助我吗?

c# delegates asynchronous

51
推荐指数
4
解决办法
9万
查看次数

子类/继承标准容器?

我经常在Stack Overflow上阅读这些语句.就个人而言,我没有发现任何问题,除非我以多态方式使用它; 即我必须使用virtual析构函数.

如果我想扩展/添加标准容器的功能那么什么是比继承一个更好的方法?将这些容器包装在自定义类中需要更多的努力并且仍然是不洁净的.

c++ inheritance standard-library

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

在C#XML文档中引用泛型类型的泛型类型?

为谓词助手类编写一些XML文档.但我无法弄清楚我可以参考一个Expression<Func<T, bool>>没有得到语法错误.它甚至可能吗?我试过这个:

<see cref="Expression{Func{T, bool}}"/>
Run Code Online (Sandbox Code Playgroud)

但我得到一条红色的波浪线{T, bool}}.这有效:

<see cref="Expression{TDelegate}"/>
Run Code Online (Sandbox Code Playgroud)

有人有线索吗?


更新:

给出的答案(我接受了)似乎确实奏效了.但是现在我已经开始收到很多关于无法解决的问题的警告.我有一个叫做类ExpressionBuilder<T>,其作品有Expression<Func<T, bool>>很多.所以我当然想在我的XML评论中引用它.

我尝试了两个我知道的版本:

<see cref="Expression&lt;Func&lt;T, Boolean&gt;&gt;"/>
<see cref="Expression{Func{T, Boolean}}"/>
Run Code Online (Sandbox Code Playgroud)

但是没有工作.(在最后一个问题上,ReSharper下了一个蓝色的波浪形,{T,Boolean}}我在编辑过程中得到两个警告,我用过它时说:

  1. 关于'blah blah'的XML注释具有无法解析的cref属性'Expression>'
  2. 类型参数声明必须是标识符而不是类型.另请参见错误CS0081.

在我试图引用的某个地方有同样的问题Range<Nullable<DateTime>>(也Range<DateTime?>没有用.{}和with &lt; &gt;)

我不应该提到这些种类的仿制药吗?

c# generics resharper xml-documentation visual-studio-2008

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

InvalidateRect和RedrawWindow之间的区别

当我想重绘窗口时,InvalidateRect和RedrawWindow之间是否有任何首选函数?

例如,这两个调用是否相等:(win将是HWND)
RedrawWindow(win, NULL, NULL, RDW_INVALIDATE);
InvalidateRect(win, NULL, NULL);

主要问题:我什么时候应该使用其中一个?背景中是否存在任何差异?(不同的WM_messages /焦点/顺序/优先级..)

我想重绘窗口的原因是因为我向它发送了一个我希望它显示的新图像,这意味着窗口的内容不再有效.

c++ winapi redraw

39
推荐指数
2
解决办法
4万
查看次数

无法将焦点设置为UserControl的子节点

我有一个UserControl包含一个TextBox.当我的主窗口加载时,我想将焦点设置到此文本框,所以我添加Focusable="True" GotFocus="UC_GotFocus"UserControls定义和FocusManager.FocusedElement="{Binding ElementName=login}"我的主窗口定义.在UC_GotFocus方法中,我只是调用.Focus()我想要关注的控件,但这不起作用.

我需要做的就是在应用程序启动时有TextBox一个UserControl接收焦点.

任何帮助将不胜感激,谢谢.

wpf user-controls focus focusmanager

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

一个列表框的两个itemtemplates

我上了课FruitViewModel.它描述了ListBox项目的ViewModels .

<ListBox ItemsSource="{Binding Fruits}">
Run Code Online (Sandbox Code Playgroud)

而且我有

class BananaViewModel : FruitViewModel
Run Code Online (Sandbox Code Playgroud)

class AppleViewModel : FruitViewModel
Run Code Online (Sandbox Code Playgroud)

Fruits包含绑定的BananaViewModels和AppleViewModels ItemsSource.

如何为苹果和香蕉制作不同的模板?它们应该在一个列表中,但具有不同的模板

wpf listbox itemtemplate

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