Tag: .net

匿名方法和委托

我试图理解为什么BeginInvoke方法不接受匿名方法。 void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (InvokeRequired) { //Won’t compile BeginInvoke(delegate(object sender, ProgressChangedEventArgs e) { bgWorker_ProgressChanged(sender, e); }); } progressBar1.Increment(e.ProgressPercentage); } 它告诉我’无法从’匿名方法’转换为’System.Delegate’,而当我将匿名方法转换为委托时,它确实有效吗? BeginInvoke((progressDelegate)delegate { bgWorker_ProgressChanged(sender, e); });

.NET MySQL连接器冲突DbProviderFactories

我正在使用带有entity framework4的.NET MySQL连接器,一切都运行良好,但我想在部署在服务器上时将MySQL客户端DLL文件与我的应用程序打包,因此我们不必担心在每台服务器上安装mysql,每个应用程序将只具有所需的正确副本。 为了实现这一点,我确保MySQL引用设置了“Copy Local”,这样它们就会被复制到bin文件夹并将以下内容添加到我的app.config中: 这工作,我能够部署应用程序而无需在远程服务器上安装mysql,但现在我的本地开发机器上有问题(我安装了MySQL连接器),当EF尝试时我收到此错误连接: 列’InvariantName’被约束为唯一。 值’MySql.Data.MySqlClient’已存在。 如果我在app.config中注释掉我上面添加的XML,那么错误就会消失。 这可能是因为系统上安装了相同的驱动程序并且位于machine.config中。 解决办法是什么? 我宁愿不必手动注释和取消注释该行,具体取决于我为哪个系统构建应用程序。

与构造函数方法相比,应该如何使用Form.Load事件?

初始化控件的属性或与表单I相关的其他值时,在初始化Form的构造函数中的值之间来回切换,然后在引发Form.Load事件时。 Forms构造函数与它的Form.Load事件的普遍接受使用是什么? 对于其他类,我将在构造函数中进行所有初始化。 然而,在VS中双击一个Form时,它会跳转到Form.Load事件的事件处理程序而不是构造函数。 这使我相信在Load事件而不是构造函数之后进行所有初始化是更可取的。

C#:如何从XML元素中删除命名空间信息

如何从C#中的每个XML元素中删除“xmlns:…”命名空间信息?

有谁知道.NET中的钱类型?

有没有人知道已经实现的支持i18n(货币,格式等)的.NET框架的货币类型? 我一直在寻找一个很好实现的类型,似乎找不到一个。

使用MonoDroid从相机访问全分辨率图片

我试图找到一种方法来从MonoDroid访问全分辨率图片,经过长时间尝试将Java示例移植到MonoDroid并查看其他人似乎已经得到了,我目前有以下(这不起作用) ) private const int TAKE_PICTURE = 1; protected Uri fileUri; private void takePhoto(object sender, EventArgs e) { Intent intent = new Intent(Android.Provider.MediaStore.ActionImageCapture); string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), “hqxmmc/pictures/ikbeneenplaatje.jpg”); Java.IO.File xfile = new Java.IO.File(path); if (xfile.Exists()) { Android.Util.Log.Warn(“FILE”, “file exists {0} \n overwriting!”, xfile.Name); xfile.Delete(); xfile.CreateNewFile(); } else { Android.Util.Log.Warn(“FILE”, “file does not exist {0}, creating”, […]

为什么DataColumn.Caption不起作用?

我正在尝试创建一个DataTable并将其绑定到DataGridView 。 它可以工作,但我无法通过Caption属性设置列标题。 它使用ColumnName (“City”)显示标题。 MSDN说 “您可以使用Caption属性显示DataColumn的描述性或友好名称。” 这是我的代码: DataColumn dc = new DataColumn(“City”, typeof(string)); dc.Caption = “Город”; DataTable dt = new DataTable(); dt.Columns.Add(dc); DataRow row = dt.NewRow(); row[“City”] = “Moscow”; dt.Rows.Add(row); datagridview.DataSource = dt;

如何在第一次运行ClickOnce部署的应用程序时检测到?

我有一个ClickOnce部署的应用程序,我正在使用它来检测第一次运行新部署时: if (ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun) { // Display release notes so user knows what’s new } 在ClickOnce执行自动更新后,它似乎按预期工作。 但是当用户在安装站点上发布publish.htm并手动安装新版本时,它根本不起作用。 有没有办法可靠地检测这两种情况? 编辑:我正在尝试解决的情况:有时用户会听到已发布更新并手动转到publish.htm以获取新版本,而不是启动应用程序并让ClickOnce处理升级。 对于ClickOnce,这显然与首次安装无法区分。 真的吗? 解决方案代码 :我最终使用以下关键部分创建了一个ClickOnce帮助程序类: public static bool IsFirstRun { get { if (!IsNetworkDeployed) return false; // not applicable == bool default value if (!File.Exists(VersionFileName)) return true; return (GetLastRunVersion() != Version.ToString()); } } public static void […]

c#中的Firebase(API推荐)

我正在尝试使用firebase数据库创建一个简单的程序。 但是我想用C#代码我的客户端是否有可用的好API? 我找到了一些,但有些缺乏function,我想知道在这些水域更有经验的人的意见。

我如何使用ConvertTo-SecureString

假设我需要在Powershell中执行此操作: $SecurePass = Get-Content $CredPath | ConvertTo-SecureString -Key (1..16) [String]$CleartextPass = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($CredPass)); $ CredPath的内容是一个包含ConvertFrom-SecureString -Key(1..16)输出的文件。 如何在C#/ .NET中完成ConvertTo-SecureString -key (1..16)部分? 我知道如何创建SecureString ,但我不确定应该如何处理加密。 我是否使用AES加密每个字符,或者解密字符串然后为每个字符创建一个安全字符串? 我对密码学几乎一无所知,但从我收集的内容中我可能只想用C#调用Powershell命令。 作为参考,我在这里发现了一篇关于AES加密/解密的类似post: 在C#中使用AES加密 UPDATE 我已经回顾了Keith发布的链接 ,但我还面临其他未知数。 DecryptStringFromBytes_Aes有三个参数: static string DecryptStringFromBytes_Aes(byte[] cipherText, byte[] Key, byte[] IV) 第一个参数是字节数组表示加密文本。 这里的问题是,如何在字节数组中表示字符串? 它应该用或不用编码来表示? byte[] ciphertext = Encoding.ASCII.GetBytes(encrypted_text); byte[] ciphertext = Encoding.UTF8.GetBytes(encrypted_text); byte[] ciphertext = Encoding.Unicode.GetBytes(encrypted_text); byte[] ciphertext = […]