为什么匿名委托可以省略参数,但lambdas不能?

//ok Action CallbackWithParam1 = delegate { }; //error CS1593: Delegate ‘System.Action’ does not take 0 arguments Action CallbackWithParam2 = () => { }; 只是想知道为什么差异真的。 : – /

在ListView控件中显示数据表

如何在WPF中的ListView控件中显示DataTable?

将Func 强制转换为Func 的更快方法?

有没有更快的方法将Fun为Func public static class StaticAccessors { public static Func TypedGetPropertyFn(PropertyInfo pi) { var mi = pi.GetGetMethod(); return (Func)Delegate.CreateDelegate(typeof(Func), mi); } public static Func ValueUnTypedGetPropertyTypeFn(PropertyInfo pi) { var mi = typeof(StaticAccessors).GetMethod(“TypedGetPropertyFn”); var genericMi = mi.MakeGenericMethod(pi.PropertyType); var typedGetPropertyFn = (Delegate)genericMi.Invoke(null, new[] { pi }); //slow: lambda includes a reflection call return x => typedGetPropertyFn.Method.Invoke(x, new object[] { […]

关于使用RFID进行C#线程的问题

我的问题是关于确保我采取正确方法并正确处理线程的反馈。 我有一种感觉,我可能需要设置一些自己的线程,所以欢迎所有反馈。 我遇到的问题是从零个或多个RFID阅读器读取RFID标签。 我可以在没有问题的情况下阅读单个读者,因此从几个读取不会是一个问题。 读者阅读的每个标签或批次标签都由.Net事件提供。 我的计划是设置一个ReaderControl类,它维护读者,连接,启动,停止等。这个类将听取读者的TagRead事件。 它处理的每个事件(大约每250毫秒)它将读取标记ID(一个字符串)放入一个HashSet以保持它们的唯一性,HashSet位于ReaderControl中。 ReaderControl将包含一个计时器,每500ms触发一次,这个TimerElapsed事件由ReaderControl处理,它将打包从目前为止从所有读取器读取的标签并引发TagsRead事件。 这样做的目的是将事件触发保持在最低限度并减少重复标记。 TagsReads事件由另一个名为TagTranslator的类处理。 这个类将遍历标记ids(字符串)并计算出标记引用的内容,即IPerson对象。 此课程将在完成翻译时使用PeopleSeen事件触发事件。 PeopleSeen事件由GUI中的模型(MVP模式)处理。 总体思路是GUI显示屏显示通过RFID阅读器的人的名字。 显示器很简单,但显然在引擎盖标签正在asych中读取并被转换为“真实”对象以进行显示。 你认为ReaderControl应该在自己的线程上运行,我认为它应该。 我如何在自己的线程中打包这个类,无论GUI在做什么,都只是继续阅读标签。 另外,您认为TagTranslator在处理事件时应该创建线程来处理翻译。

C#Linq OrderBy过滤null或空值为last

我尝试使用自定义orderby扩展方法,我成功地处理了我的代码,但另外我想在结果中列出null或空值或零值,任何人都可以帮我解决这个问题? 这是我对orderby的扩展方法 public static IQueryable OrderBy(this IQueryable q, string SortField, bool isAsc) { //var nullExpr = Expression.Constant(null, typeof(T)); var param = Expression.Parameter(typeof(T), “p”); var prop = Expression.Property(param, SortField); var exp = Expression.Lambda(prop, param); string method = isAsc ? “OrderBy” : “OrderByDescending”; Type[] types = new Type[] { q.ElementType, exp.Body.Type }; var mce = Expression.Call(typeof(Queryable), method, […]

如何在c#代码后面添加div到容器div

ASP.NET,C# 正如标题所示,我想知道是否有人知道如何以编程方式(文件后面的c#代码)将div添加到另一个容器div(在aspx页面中)。 提前致谢

SQL Compact Edition 3.5 – 不允许访问数据库文件

我使用SQL Server Compact 3.5开发了一个应用程序(100%本地,无法访问服务器),它在我的计算机上运行良好。 但是,当我在另一台计算机上部署它时,它显示以下错误: Access to the database file is not allowed. [ File name = data\BDApepucCE.sdf ] 我部署在Windows XP计算机上。 每当我尝试在数据库上写入时它都会显示此错误,但是,当我阅读时它会起作用。 我在Windows 7计算机上进行了测试,它的工作率为100%,除非通过家庭组(即本地网络)访问该文件,但在读取/写入时它都失败了。 平台:Windows 7,Visual Studio 2010和.NET 4 Client Profile

如果派生类inheritance了基类的私有成员,那么为什么不是构造函数呢?

我希望在c#中清楚地理解这个基本的OOPS概念。 在大多数Internet站点上,我读到派生类inheritance了基类的私有成员,但它无法访问这些成员。 派生类可以访问基类的public,protected,internal和protected内部成员。 即使派生类inheritance了基类的私有成员,它也无法访问这些成员。 但是,所有这些私有成员仍然存在于派生类中,并且可以执行与基类本身相同的工作。 例如,假设受保护的基类方法访问私有字段。 该字段必须存在于派生类中,以便inheritance的基类方法正常工作。 资料来源: http : //msdn.microsoft.com/en-us/library/ms173149.aspx 我的问题是,如果我们认为上面的内容是正确的,那么我们可以说“基类的构造函数是在派生类中inheritance的,但派生类只能使用base关键字通过自己的构造函数访问/调用它,并且这个构造函数不可用于外部世界在创建派生类的实例时“ 。 public class Employee { public int salary; public Employee(int annualSalary) { salary = annualSalary; } } public class Manager : Employee { public Manager(int annualSalary) : base(annualSalary) { //Add further instructions here. } } 因为要调用基类构造函数,它应该存在于该类中。 也许我的解释是错误的。 有人可以解释一下吗? 提前致谢!

如何在MVC中使用会话变量

我在“Global.asax”文件中声明了Session变量, protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); int temp=4; HttpContext.Current.Session.Add(“_SessionCompany”,temp); } 并希望将此会话变量用于我的控制器的操作, public ActionResult Index() { var test = this.Session[“_SessionCompany”]; return View(); } 但是我在访问会话变量时遇到exception。 请帮我解决这个问题,如何将会话变量访问到我的控制器的Action中。 我在Global.asax中的Application_Start中获得了一个exception,例如”Object Reference not set to an Insatance of an object” HttpContext.Current.Session.Add(“_SessionCompany”,temp);

WCF / S#arpArch:在请求中的第一次调用之后,底层ISession将关闭

我知道在SA中使用WCF已被弃用,因为它将转移到SA Contrib。 但是直到它有,我想我必须使用SA中的支持。 也就是说,我在调用WCF服务后关闭了底层的NHibernate会话。 我的存储库的DbContext.Session在第一次调用后关闭,因此在单个HTTP请求期间我不能多次调用我的服务。 我基于Northwind示例应用程序在我的项目中设置了WCF。 该示例仅在每个请求中调用一次WCF服务,因此此问题不会显示在那里。 但是,通过复制TerritoriesController中的以下行,可以轻松复制该问题: territories = territoriesWcfService.GetTerritories(); 这会抛出一个ObjectDisposedException:“Session is closed!Object name:’ISession’”。 有任何想法吗?