Tag: C#的

启动一个Windows服务并启动cmd

我是否需要启用交互式desktp才能正常工作,以及启动EXE或cmd窗口的正确代码是什么? 即使启用它与桌面交互,我仍然无法启动服务。 我会使用一个聊天引擎,所以作为一个Windows服务来pipe理更容易。 我的代码有什么问题? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceProcess; using System.Diagnostics; using System.ComponentModel; using System.Threading; namespace MyNewService { class Program : ServiceBase { static void Main(string[] args) { } public Program() { this.ServiceName = "Chatter"; } protected override void OnStart(string[] args) { base.OnStart(args); //TODO: place your start code here ThreadStart […]

如何从类X复制到类Y具有相同的属性名称在C#中?

假设我有两个类: public class Student { public int Id {get; set;} public string Name {get; set;} public IList<Course> Courses{ get; set;} } public class StudentDTO { public int Id {get; set;} public string Name {get; set;} public IList<CourseDTO> Courses{ get; set;} } 我想将学生类的值复制到StudentDTO类: var student = new Student(); StudentDTO studentDTO = student; 我如何通过反思或其他解决scheme来做到这一点?

指向数组c ++的指针

以下代码在做什么? int g[] = {9,8}; int (*j) = g; 从我的理解中创build一个指向2个整数的指针。 但是为什么这个工作: int x = j[0]; 这不工作: int x = (*j)[0];

我怎样才能在C预处理器中生成唯一的值?

我正在写一堆相关的预处理macros,其中一个生成另一个跳转到的标签。 我以这种方式使用它们: MAKE_FUNNY_JUMPING_LOOP( MAKE_LABEL(); MAKE_LABEL(); ) 我需要一些方法来生成独特的标签,每个内部MAKE_LABEL调用一个预处理器。 我尝试过使用__LINE__ ,但是由于我在另一个macros里面调用了MAKE_LABEL ,它们都有相同的行并且标签发生了碰撞。 我想要扩展到这样的东西: MAKE_FUNNY_JUMPING_LOOP( my_cool_label_1: // from first inner macro … my_cool_label_2: // from second inner macro … ) 有预处理器生成散列或自动递增整数的方法吗?

我们可以将代表保存在一个文件(C#)中

我有一个有代表团成员的class级。 我可以为该类的每个实例化对象设置委托,但尚未find任何方法来保存该对象

如何从另一个C ++ .exe打开一个.exe文件?

我想要做的是从另一个.exe打开.exe。 我真的不知道该怎么做,所以我search了互联网。 我尝试了一些来自互联网的build议方法,但没有奏效。 这是我的代码: #include <iostream> #include <windows.h> using namespace std; int main() { system ("OpenFile.exe"); system ("pause"); return 0; } 当我在DEV C ++中运行它时,它不能编译,我得到一个错误。 有人可以帮帮我吗?

为什么我们使用if,否则如果代替多个block,如果主体是return语句

我总是习惯使用if,else-if语句而不是多个if语句。 例: int val = -1; if (a == b1) { return c1; } else if (a == b2) { return c2; } … … } else { return c11; } 它与例2相比如何: if (a == b1) { return c1; } if (a == b2) { return c2; } …. if (a == b11) { return […]

共享进程和DLL之间的全局/静态variables

我想共享一个静态/全局variables只有进程和进程调用的DLL之间。 该exe和dll在相同的内存地址空间。 我不希望variables在其他进程之间共享。 详细阐述问题: 假定a.cpp中有一个静态/全局variablesx 。 exe foo.exe和dll bar.dll都有a.cpp ,因此variablesx在两个图像中。 现在, foo.exedynamic加载(或静态) bar.dll 。 然后,问题是variablesx是否被exe和dll共享,或者不是。 在Windows中,这两个人永远不会共享x :这个exe和dll将会有一个单独的x副本。 但是,在Linux中,exe和dll共享variablesx 。 不幸的是,我想要Linux的行为。 我首先考虑在Windows上使用pragma data_seg 。 但是,即使我正确设置共享数据段, foo.exe和bar.dll从不共享x 。 回想一下, bar.dll被加载到bar.dll的地址空间中。 但是,如果我运行foo.exe另一个实例,则共享x 。 但是,我不希望x被不同的进程共享。 所以,使用data_seg失败了。 我可能会使用一个内存映射文件通过在exe和dll之间创build一个唯一的名称,我现在正在尝试。 两个问题: 为什么Linux和Windows的行为有所不同? 任何人都可以解释更多的这个? 在Windows上解决这个问题最简单的方法是什么?

重写SaveChanges并设置ModifiedDate,但是如何设置ModifiedBy?

我有一个ASP.NET MVC3 Web应用程序与UI,商业(实体)和数据(DbContext)层。 我正在使用entity framework4.1代码优先。 现在,我重写了Data层中的DbContext.SaveChanges() ,这样我就可以为ModifiedDate设置对实现我的IAuditable接口的任何实体对象所做的所有更改。 我有一个静态的DateProvider类和方法(GetCurrentDate),返回DateTime.Now (除非我正在运行一个testing,在这种情况下,它返回任何我告诉它)。 我想自动将ModifiedBy属性设置为当前用户。 什么是最好的方式去做这个? 在框架中是否有内容可以让我访问这些信息,或者是否需要设置类似于DateProvider类的东西? 这是一个Active Directory环境,我们在IIS中使用WindowsAuthentication 。 这是我的SaveChanges代码: public override int SaveChanges() { var changeSet = ChangeTracker.Entries<IAuditable>(); if (changeSet != null) { foreach (var entry in changeSet.Where(c => c.State != EntityState.Unchanged)) { entry.Entity.ModifiedDate = DateProvider.GetCurrentDate(); } } return base.SaveChanges(); }

C中指针的大小是否有变化?

可能重复: 指针的大小可以根据指向的内容而有所不同吗? 是否有任何平台指向不同types的指针有不同的大小? c中指向float的指针的大小是否可以和指向int的指针不同? 经过尝试,我得到了各种指针相同的结果。 #include <stdio.h> #include <stdlib.h> int main() { printf("sizeof(int*): %i\n", sizeof(int*)); printf("sizeof(float*): %i\n", sizeof(float*)); printf("sizeof(void*): %i\n", sizeof(void*)); return 0; } 这里的输出(OSX 10.6 64位) sizeof(int*): 8 sizeof(float*): 8 sizeof(void*): 8 我能否假设不同types的指针具有相同的大小(当然是在一个拱门上)?