草庐IT

c# - 复合WPF : EventAggregator - when to use?

我一直在寻找CompositeApplicationLibrary,这很棒,但我无法决定何时使用EventAggregator...或者更确切地说-何时不使用它。再看看StockTraderRI的例子,我就更糊涂了。他们在某些情况下使用EventAggregator,在其他情况下使用“经典”事件(例如在IAccountPositionService接口(interface)中)。我已经决定用它来与繁重的工作任务通信,它应该在后台线程上运行。在这种情况下,EventAggregator在幕后提供线程编码,因此我不必为此担心太多。除此之外,我喜欢这种方法提供的解耦。所以我的问题是:当我开始

c# - "Both use the XML type name X, use XML attributes to specify a unique XML name and/or namespace for the type"怎么解决?

我有以下枚举定义...namespaceItemTable{publicenumDisplayMode{Tiles,Default}}namespaceEffectiveItemPermissionTable{publicenumDisplayMode{Tree,FullPaths}}...然后我有以下类(class)...publicclassTablewhereTDisplayMode:struct{//publicpublicTDisplayModeDisplayMode{get{returnmDisplayMode;}set{mDisplayMode=value;}}//pri

c# - 如何: Use async methods with LINQ custom extension method

我有一个LINQ自定义扩展方法:publicstaticIEnumerableDistinctBy(thisIEnumerableitems,Funcproperty){returnitems.GroupBy(property).Select(x=>x.First());}我是这样使用它的:varspc=context.pcs.DistinctBy(w=>w.province).Select(w=>new{abc=w}).ToList();但问题是我不想要ToList()我想要这样的东西varspc=awaitcontext.pcs.DistinctBy(w=>w.province).

c# - Entity Framework : Check all relationships of an entity for foreign key use

我有一个实体,我们称它为CommonEntity,它有一个在许多其他实体中用作外键的主键。随着应用程序的开发,这些链接将继续增长。我想要一种方法来查看CommonEntity是否可以安全删除(即它未被任何其他实体使用)。我知道我能做到if(!ce.EntityA.Any()&&!ce.EntityB.Any()...&&!ce.EntityN.Any()){//Delete}但我希望有一种方法可以自动检查所有关系,因为我不喜欢每次添加新关系时都必须返回并手动更改此代码的想法。也许EF4+中有一些我不知道的东西?我认为可以使用事务范围来尝试删除对象并在失败时将其回滚,但我不确定这种方法是

c# - 最佳实践 : When should I use a delegate in . NET?

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:DelegateUsage:BusinessApplicationsWheredoIusedelegates?你好,我是.NET中委托(delegate)概念的新手-我还没有真正使用过它们,我认为它们可能有充分的理由-我应该什么时候使用委托(delegate)?非常欢迎示例。

c# - 如何将代码标记为 "not for future use"

我经常遇到这样的情况,我想劝阻其他开发人员不要继续使用某个方法或类。例如,假设我有两个库方法“A”和“B”,其中“A”是执行某些任务的“旧”方式,而“B”是执行该任务的"new"方式。在许多情况下,A和B有足够的不同,使得使用A开始使用B的重构代码非常重要(例如,需要流过额外的状态)。由于A在使用它的情况下有效,我不想优先考虑重构。但是,我确实想给我的开发人员一个直观的指示,表明A不会在新代码中使用。因此,我希望您在使用ObsoleteAttribute引用成员时得到删除线。没有相关的编译器警告/错误(因为打开它会从A的所有旧用法中发出数百个错误,我们不打算很快解决这些错误)。这样,如

c# - 枚举器实现 : Use struct or class?

我注意到List将其枚举器定义为struct,而ArrayList将其枚举器定义为class.有什么不同?如果我要为我的类(class)写一个枚举器,哪个更好?编辑:使用yield无法满足我的要求,所以我正在实现自己的枚举器。也就是说,我想知道遵循List的路线是否会更好。并将其作为结构实现。 最佳答案 像其他人一样,我会选择一个类(class)。可变结构是讨厌的。(正如Jared所建议的那样,我会使用迭代器block。手动编写枚举器代码很费力才能正确。)参见thisthread例如,列表枚举器是一个导致问题的可变结构......

c# - 代理设置设置为 "Use automatic configuration script"的 WCF 客户端

我目前正在开发一个需要与Internet上的Web服务通信的应用程序。InternetExplorer是迄今为止唯一通过代理服务器连接到Internet的应用程序。代理设置设置为“使用自动配置脚本”。我保留了默认设置另外设置但运气不好。我不断收到“(407)需要代理身份验证。”我已经进行了一些Google搜索,但解决方案似乎不适合我的情况。简短更新:该应用程序应使用默认用户凭据运行,并使用这些凭据通过NTLM向代理进行身份验证。但即使我将客户端设置为这样做,它似乎也无济于事。 最佳答案 保留设置,并确保useDefaultCrede

c# - "Data Source cannot be empty. Use :memory: to open an in-memory database"是什么意思?

我最近将我的SQLServer数据库转换为SQLite数据库。但是当我尝试使用.Open()打开我的SQLite时,它​​抛出了这个错误:DataSourcecannotbeempty.Use:memory:toopenanin-memorydatabase编辑:添加连接字符串:ConnectionString=@"DataSource=D:\XXX.db;Version=3";connection=newSQLiteConnection(connectionString);connection.Open();为什么我会得到这个?我将相同的SQLServer数据库转换为SQLCE和my

c++-cli - C++/CLI-问题: Is there an equivalent to the C# "is" keyword or do I have to use reflection?

我在MSDN的某个地方读到过,与C#的“is”关键字等效的是dynamic_cast,但这并不完全等效:它不适用于值类型或泛型参数。例如在C#中我可以写:voidMyGenericFunction(){objectx=...if(xisT)...;}如果我尝试“等效的”C++/CLI:genericvoidMyGenericFunction(){objectx=...if(dynamic_cast(x))...;}我收到编译器错误“errorC2682:cannotuse'dynamic_cast'toconvertfrom'System::Object^'to'T'”。我唯一能想到的