小编Nol*_*rin的帖子

.NET中的异步TCP通信

这里的快速问题:使用与NetworkStream类(由TcpClient生成)的异步通信有什么明显的好处,即BeginRead/BeginWrite方法,而不是运行单独的线程并对其使用同步操作,即读/写?我的印象是(很可能是非常错误的)异步操作是非阻塞的并且在OS级别(在TCP堆栈中执行?)执行,并带有回调的线程池项.我认为它肯定必须与在同步方法上调用ThreadPool.QueueUserWorkItem不同,或者提供它时没有什么意义.现在,我相信这至少是文件I/O所发生的事情(操作系统级调用),但如果有人可以请澄清有关网络(TCP)通信的问题,这将是最有帮助的.基本上,我想知道这两种方法是否有任何特定的好处(除了能够在同步调用中使用BinaryReader/StreamReader类的明显优势).

.net sockets networking asynchronous tcp

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

参考通用评论

我想知道是否可以在注释中引用动态泛型类名称并在IDE中有条件地解决它?

简单的基类示例:

// <summary>
// Retrieves all <T> members from the database.
// </summary>
public void GetAll<T>()
{
 //magic
}
Run Code Online (Sandbox Code Playgroud)

如果我现在从这个类继承而恰好是类User,那么我想让IntelliSense将我的评论显示为"从数据库中检索所有用户成员".

这可能吗?

c# intellisense xml-documentation xml-comments visual-studio

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

如何跳过Foreach中的记录

我试图通过简单的登录从Active Directory基础创建一个对象.问题是某些登录信息是有效的.

我怎么能只使用try-catch,这样如果抛出异常,只需跳到下一次登录?

这是代码:

foreach (var PharosUserItem in ListRef)
{
    ADUser User;
    try
    {
        User = new ADUser(PharosUserItem.UserLoginPharos);
    }
    catch (ByTel.DirectoryServices.Exceptions.UserNotFoundException ex)
    {
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

休息让我脱离了foreach,这不是我想要的.有任何想法吗?

.net c# foreach try-catch

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

列出目录中的类 (Python)

我正在开发一个 Python 2.6 包,我想在其中获取某个目录(包内)中所有类的列表,以便对类对象执行自省。

具体而言,如果包含当前正在执行模块的目录中有一个子目录名为“foobar的”和“foobar的”包含.py文件规定class Foo(MyBase)class Bar(MyBase)以及class Bar2,我想获得的类引用列表从对象继承MyBase,即FooBar,但不是Bar2

我不确定这个任务是否真的需要涉及文件系统的任何处理,或者子目录中的模块是否自动加载并且只需要以某种方式通过自省列出。请问这里有什么想法吗?非常感谢示例代码,因为我对 Python 非常陌生,尤其是自省。

python directory class introspection

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

从HTML中过滤JavaScript

我有一个富文本编辑器,可以将HTML传递给服务器.然后,该HTML将显示给其他用户.我想确保HTML中没有JavaScript.有没有办法做到这一点?

另外,如果有帮助,我正在使用ASP.NET.

html javascript xss filtering sanitization

6
推荐指数
2
解决办法
2768
查看次数

在C#中缓存二进制文件

是否可以在.NET中缓存二进制文件并在缓存文件上执行普通文件操作?

c# caching file filestream

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

你会在long switch/enum声明中使用区域吗?

我最近发现自己需要(是的,需要)在C#代码中定义荒谬的长switch语句和enum声明,但我想知道人们认为将它们分成逻辑子部分的最佳方法.在我的情况下,枚举值和案例(基于枚举值)都有相当清晰的分组,但我稍微不确定如何在代码中反映这一点.

请注意,在我的代码中,我有大约5组,每组10到30个枚举值/个案.

我能想到的三个含糊不清的选择是:

  1. #region在声明中定义case/enum值的所有逻辑组周围的块(可选地用空行分隔).
  2. 使用它的名称对每个组进行注释,并在每个组名注释前添加一个空行.
  3. 什么都不做 - 只需将开关/枚举作为一个巨大的案例/值列表.

你喜欢哪个?你会分开处理枚举和开关吗?(这对我来说似乎有点奇怪.)现在,我不会说这个问题有任何正确/错误的答案,尽管我仍然非常有兴趣听取一般意见的看法.

注1:遗憾的是,我可能有一个非常长的枚举声明50/100 +值的情况是不可避免的(和开关一样),因为我试图写一个词法分析器(tokeniser),这看起来似乎是最合理的方法有几个原因.

注2:我完全清楚在是否在一般代码中使用区域(主要用于构造类)的问题上已经存在几个重复的问题,但我觉得我的问题更加具体,尚未得到解决.

c# enums switch-statement regions

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

F#会不会是开源的?

2009年初讨论了微软是否会根据MS-PL /其他许可证发布F#编译器的来源.一个StackOverflow的线程中提到的状态的呢.

从那以后发生了很多事情.我们已经看到了使用.NET Framework 4.0(和Visual Studio 2010)正式发布的F#,据我所知,它仍然是完全封闭源代码.微软是否对此问题保持沉默,还是明确表示他们不再打算开源编译器?也许事情已经在进行中.基本上,任何新闻/考虑因素?

compiler-construction f# open-source

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

Google Search API

谷歌网页搜索(SOAP)API在去年11月被弃用,此前已被劝阻了很长时间.

我注意到存在新的Google Custom Search API,但这似乎只适用于创建特定于站点的自定义搜索.那么,目前是否有任何用于搜索整个网络的API解决方案?使用Google自定义搜索还是其他一些API?

api web-services web-search

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

WPF ListView - 按嵌套属性排序

我最近偶然发现一个问题,WPFListView控件似乎限制了对其项目进行排序的能力。SortDescription具体来说,我在尝试识别嵌套属性(属性的属性)时遇到了很大的麻烦。

对于按属性直接排序,以下行应该完成这项工作:

listView.Items.SortDescriptions.Add(new SortDescription("MyProperty",
    ListSortDirection.Ascending));
Run Code Online (Sandbox Code Playgroud)

事实上,它对我来说效果很好。但是,因为ItemSourcefor myListView是 (强类型) DataTable,所以某些列绑定到行的嵌套属性(即Row.OtherTableRow.SubProperty绑定路径样式) - 这是 ADO.NET 数据集用于分层数据库的方式。

我想做的是这样的:

listView.Items.SortDescriptions.Add(new SortDescription("MyProperty.SubProperty",
    ListSortDirection.Ascending));
Run Code Online (Sandbox Code Playgroud)

但不幸的是,该行抛出一个ArgumentException

“Orders”类型没有名为“Row.[ID]”的属性,因此无法对数据集合进行排序。

奇怪的是,我在绑定嵌套属性时没有任何问题。事实上,这些字段在...中显示得很好......ListView添加 a 也不PropertyGroupDescription会给listView.GroupDescriptions我带来嵌​​套属性的任何问题 - 它只是SortDescriptions

这只是 WPF/控件的限制吗ListView?作为框架的一部分,我有什么办法可以获得支持,或者我会运气不佳吗?如果不幸的是,并且这种不一致是不可避免的,如果有人能为这种嵌套属性的场景建议一种破解或解决方法,我将非常感激。我已经尝试过一些想法,但都收效甚微。

注意:我意识到 ORM 可以很好地解决我的问题,但恐怕这对于我当前正在从事的项目来说根本不可行。简单的 ADO.NET 数据集就可以了。

sorting wpf listview properties nested-properties

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