Tag: C#的

你如何将一个对象从form1传递给form2并返回form1?

在决定问这个问题之前,我已经对这个问题做了一些研究。 我找不到任何帮助我的东西。 我正在用C#编写一个紧凑框架2.0的应用程序。 我需要在form1上实例化一个数据对象,并将该对象传递给form2。 在form2中处理数据对象,然后将这些数据传回给form1,以便保存。 我明白,一个forms只是一个对象,我也明白,对象是通过引用过去,而不是价值。 我也明白这两种types的区别。 我只是因为某些原因无法工作。 什么是最好的,最干净的方式来实现这个代码?

为什么sizeof(param_array)是指针的大小?

我想获得一个数组的长度,例如int array[] = {1, 2, 3, 4} 。 我用sizeof来做到这一点。 int length(int array[]) { return sizeof(array) / sizeof(int); } int main() { int array[] = {1, 2, 3, 4}; printf("%d\n", length(array)); // print 1 printf("%d\n", sizeof(array) / sizeof(int)); // print 4 } 那么,为什么函数length的sizeof(array)返回array的指针大小呢? 但在functionmain ,它的作品。 而且,我应该如何修改length函数来获得数组的长度?

Application.OpenForms.Count = 0总是

我有这种情况。 Application.OpenForms不会返回正确的结果。 即Application.OpenForms.Count = 0总是.. 获取表单的目的是获取表单的所有者,以便我可以通过所有者作为MessageBox.Show()函数的参数。

有关使用Ninject的问题

我经历了推荐的步骤来添加Ninject到我的MVC应用程序。 我添加了一个DbContext参数给我的控制器的构造函数。 控制器: public class MyController : BaseController { public ArticlesController(MyDbContext context) : base(context) { } } 基本控制器: public class BaseController : Controller { protected DbContext MyDbContext; public BaseController(MyDbContext context) { MyDbContext = context; } } 这似乎运作良好。 但是留下了几个问题。 Ninject是否确保我的DbContext被清理并及时处理? 我为所有的应用程序的控制器创build了一个基类来处理任何常见的初始化等。基类在构造函数中接受我的DbContext参数的一个实例。 但是这需要我也将这个参数添加到我的应用程序中的每个控制器。 有没有办法不要求这个? 我不知道创build我的DbContext的实例是多么昂贵。 有没有什么办法来进行优化,只有当请求实际上需要我访问数据库时才会创build它。

C ++预处理器#定义一个关键字。 它符合标准吗?

帮助解决关于布尔和1的这个问题的评论正在进行的辩论: 符合标准的C ++预处理器是否允许使用#define重新定义语言关键字? 如果是这样,一个符合标准的C ++预处理器是否允许这样做? 如果一个C ++程序重新定义了一个语言关键字,那么这个程序本身是否符合标准呢?

>?=运算符是什么意思?

通过这个C ++ BigInt库查找并findBigInt.cpp文件。 顶部有一个关于兼容性的评论: 这个类是为g ++编译器编写的,使用了一些g ++扩展(比如“long double”和“>?=”运算符)。 那是什么>?=操作员呢? 我找不到其他地方的参考。

带有const参数和重载的函数

尝试了stackeroverflow qn所以它让我思考为什么不重载的function,我想出了一个稍微不同的代码,但它说,该function不能超载。 我的问题是为什么? 还是有另一种方式? #include <iostream> using std::cout; class Test { public: Test(){ } int foo (const int) const; int foo (int ); }; int main () { Test obj; Test const obj1; int variable=0; do{ obj.foo(3); // Call the const function obj.foo(variable); // Want to make it call the non const function variable++; usleep […]

C#:如何使黑客/cookies更难以避开或绕过许可证检查?

首先,我明白,几乎所有的应用程序都可以被破解(特别是用C#编写)。 我的问题是要使它更难以破解。 假设用户已将Application.StartupPath下的License文件保存在所有用户都可以读取的位置。 然后,每次应用程序启动时,都会检查是否可以查找和validation许可证文件。 如果应用程序可以find并validation,我们让用户继续完整的function。 如果没有,我们提示MessageBox显示“未经许可,继续使用试用版,function受限”。 我的问题是,如果我是黑客/黑客,我会尝试避开或绕过许可证检查,而不是破解许可证文件,因为如果我们使用RSA签名,则很难破解许可证文件。 那么我们应该在哪里进行许可证检查? PS:还有,如果我把一个全局variablesIsLicensed(true / false)限制function是否安全? 黑客更容易改变IsLicensed = true吗?

将值从一种forms传递给另一种forms

我有两个名为form1和form2窗体: form1由一个label和一个button 。 form2是由一个textBox和一个button 当我点击form1button,这将显示form2 。 一旦我按下form2的button, form1.label任何input都应该写回到form1.label 。 我有下面的代码,但它不起作用。 // Code from Form 1 public partial class Form1 : Form { public void PassValue(string strValue) { label1.Text = strValue; } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 objForm2 = new Form2(); objForm2.Show(); } } // Code From Form […]

作为一个不同的用户启动.Net进程

我想启动一个具有pipe理员权限的进程。 当我运行下面的代码进程抱怨说它需要pipe理员权限: public class ImpersonationHelper : IDisposable { IntPtr m_tokenHandle = new IntPtr(0); WindowsImpersonationContext m_impersonatedUser; #region Win32 API Declarations const int LOGON32_PROVIDER_DEFAULT = 0; const int LOGON32_LOGON_INTERACTIVE = 2; //This parameter causes LogonUser to create a primary token. [DllImport("advapi32.dll", SetLastError = true)] public static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, int […]