读取命令行开关

我正在尝试在C#应用程序中读取用户参数。 我知道如何根据位置阅读它们 string[] args = Environment.GetCommandLineArgs(); 但是我想从开关中读取它们 app.exe /f /d:foo 我真的很难找到关于这样做的任何信息……

等到所有线程在ThreadPool中完成工作

我有这个代码: var list = new List(); for(int i=0;i<10;i++) list.Add(i); for(int i=0;i { Console.WriteLine(x); }), list[i]); } 我想知道所有线程池线程什么时候完成他们的工作。 我怎么能这样做?

按Escape键调用方法

如果按下某个键,有没有办法在C#中启动方法? 例如, Esc ?

C#多个通用约束

我想知道是否可以添加多个通用约束? 我有一个Add方法,它接受一个Object(电子邮件,电话或地址),所以我想的是: public void Add(T Obj) where T : Address where T : Email where T : Phone { if (Obj is Address) m_Address.Add(Obj as Address); else if (Obj is Email) m_Email.Add(Obj as Email); else m_Phone.Add(Obj as Phone); } 但我一直在: “A constraint clause has already been specified for type parameter ‘T’. All of the constraints […]

如何通过ViewModel更改VisualState

我知道这个问题类似于很多。 无论如何,我不明白。 我有几个VisualStates (超过2个,这就是为什么DataStateBehavior不是我的解决方案)。 我有ViewModel,它具有枚举属性CurrentState 。 每个枚举值代表一个状态,也可能是几个枚举值代表一个状态,不符合。 我希望当CurrentState改变时改变了VisualState (想到,我脑子里立刻出现了: Binding是为这种情况准确创建的! ) 我可以将CurrentState与视图VisualState (仅限xaml解决方案)绑定,以获得上述行为吗? 如果是,我该怎么办? 如果不是,我应该如何在我的ViewModel中使用VisualStateManager.GoToState()方法?

C#reflection:在成员字段上查找属性

我可能会错误地问这个问题,但是可以/如何在一个类中查找字段…例如…… public class HtmlPart { public void Render() { //this.GetType().GetCustomAttributes(typeof(OptionalAttribute), false); } } public class HtmlForm { private HtmlPart _FirstPart = new HtmlPart(); [Optional] //<– how do I find that? private HtmlPart _SecondPart = new HtmlPart(); } 或者我可能只是错误地执行此操作…如何调用方法然后检查应用于自身的属性? 另外,为了这个问题 – 我很好奇是否有可能在不知道/访问父类的情况下找到属性信息!

如果是aspx文件中的语句

我有一些基本上看起来像这样的代码: This markup should not be output if Something==true. 取决于Something ,其中一个是隐藏的,这很好。 但是如果我在用户控件中设置断点,我会注意到它被加载了两次(对于上面的每个控件都加载了一次)并且它的所有逻辑都运行了两次。 我当然可以使用占位符或多视图来控制它,但同样的事情似乎适用 – OnLoad / Page_Load等对于页面上实际存在的每个控件运行一次。 编辑:我显示/隐藏这个的原因是因为我需要在控件周围包含一些标记,如果Something == true 。 我可以在控件之前和之后的if-else中包装“unique markup”本身,但这对于真正应该像我上面想象的那样简单的东西来说似乎很脏。 在这两种情况下,用户控件本身应该完全相同,对不起它具有的混乱属性。 它只是我,还是这只是一个非常不直观的界面? 并且只要它在页面上,它实际上是否可以不加载/执行用户控件?

更改Windows应用程序中的默认安装路径

我想更改默认安装路径,即Windows应用程序中的Program Files创建设置时。 我试过但我不能这样做请告诉我解决方案。

从LINQ表达式中提取sql查询

是否可以从LINQ查询中提取sql语句? 说,我有这个LINQ表达式。 string[] names = new string[] { “Jon Skeet”, “Marc Gravell”, “tvanfosson”, “cletus”, “Greg Hewgill”, “JaredPar” }; var results = from name in names where name.StartsWith(“J”) select name; alt text http://ruchitsurati.net/files/linq-debugging.png 在此语句之后,’results’仅保留LINQ表达式而不是由于LINQ查询的延迟执行而导致的结果。 我可以从’结果’中提取或生成LINQ查询,并从存储在’LINQ’中的查询中准备一个有效的SQL语句吗? 编辑 这是我的目标: 我们已经编写了自己的ORM。 我们每次需要进行数据库操作时都必须编写查询。 现在我们需要在DAL摆脱它。 我们希望在代码中编写LINQ表达式,它将针对我的ORM生成SQL语句,我们将在数据库上执行此SQL。 我是否愿意编写我的定制Linq提供商来做我需要的事情?

如何在Moqentity framework中调用SqlQuery

我已经能够使用此链接使用Moq从entity framework中模拟DbSet 。 但是,我现在想知道如何模拟对SqlQuery的调用。 不确定这是否可行或者如何依赖于模拟的db上下文知道正在调用什么“查询”。 以下是我试图嘲笑的内容。 var myObjects = DbContext.Database .SqlQuery(“exec [dbo].[my_sproc] {0}”, “some_value”) .ToList(); 我目前还没有尝试任何东西,因为不知道如何开始嘲笑这个例子。 DbSet是在下面并重新迭代,我可以正确地模拟返回MyObject的DbSet ,但现在我正在尝试模拟一个返回MyObject列表的SqlQuery。 var dbContext = new Mock(); dbContext.Setup(m => m.MyObjects).Returns(mockObjects.Object); dbContext.Setup(m => m.Database.SqlQuery… something along these lines