小编Han*_*ant的帖子

您是否关注代码的美学?

如果我的代码不"漂亮",我不知道我是否是世界上唯一一个在我肚子里感觉不好的人.例如,如果我得到另一个人在我之前做的任务.我无法帮助它清理代码并让它看起来"漂亮".我不知道这是不是某种强迫症.

这就像我将代码视为某种艺术,在我自己的代码约定中看起来很完美.我不知道你是否理解我在这里要解释的内容.

但是你是否喜欢我,尽管它不会使代码变得更好,但总是试图让我的代码在审美观点上看起来很好?

coding-style

21
推荐指数
2
解决办法
2514
查看次数

21
推荐指数
1
解决办法
1万
查看次数

如何动态加载包含非托管代码的原始程序集?(绕过"无法验证的代码失败的策略检查"异常)

我将举一个使用System.Data.SQLite.DLL的例子, 它是一个带有非托管代码的混合程序集:如果我执行这个:

  var assembly= Assembly.LoadFrom("System.Data.SQLite.DLL")
Run Code Online (Sandbox Code Playgroud)

没有异常被抛出,但如果我这样做:

  var rawAssembly = File.ReadAllBytes("System.Data.SQLite.DLL");
  var assembly = Assembly.Load(rawAssembly);
Run Code Online (Sandbox Code Playgroud)

CLR抛出FileLoadException,其中包含"无法验证的代码失败的策略检查.(HRESULT异常:0x80131402)".假设我正在尝试在子AppDomain上加载此程序集,如何自定义AppDomain的安全性以允许我通过策略检查?

.net c# appdomain late-binding appdomainsetup

20
推荐指数
2
解决办法
6225
查看次数

如何在Winforms中合并DataGridView单元格

我在网格中有一些数据,目前显示如下:

------------------
|Hd1| Value  |
------------------
|A  | A1     |
------------------
|A  | A2     |
------------------
|A  | A3     |
------------------
|A  | A4     |
------------------
|B  | B1     |
------------------
|B  | B2     |
------------------
|B  | B3     |
------------------
|B  | B4     |
------------------
|B  | B5     |
------------------
|C  | C1     |
------------------
|C  | C2     |
------------------
Run Code Online (Sandbox Code Playgroud)

我想让它看起来像这样:

|Hd | Value  |
------------------
|A  | A1     |
    ----------
|   | A2     |
    ----------
|   | A3 …
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms

18
推荐指数
2
解决办法
6万
查看次数

如何显示超过63个字符的系统托盘工具提示?

如何显示超过63个字符的系统托盘工具提示?NotifyIcon.Text有63个字符限制,但我已经看到VNC服务器有更长的工具提示.

我该怎么做VNC服务器呢?

c# systray winforms

17
推荐指数
2
解决办法
8352
查看次数

为特定客户端创建自定义区域性和关联资源文件的建议方法是什么?

我的客户端想要为我的字符串资源的子集指定他们自己的本地化内容版本.

为简单起见,这里是基本的例子:
假设我有2个本地化字符串(显示英文内容)
PageTitle ="Hello World"
PageDescription ="这是一个更加冗长的Hello World版本!"

我想本地化这些,所以我有资源文件.

  • Strings.resx (包含我的英文字符串)
  • Strings.fr-ca.resx (包含我的法语 - 加拿大字符串)
  • Strings.fr-ca-clientX.resx (包含我的法语 - 加拿大客户的字符串,非常挑剔;) - 只是在开玩笑)

理想情况下,"Strings.fr-ca-clientX"只能指定他们想要"覆盖"的字符串.换句话说,他们可能只想更改PageTitle并继续使用"fr-ca"资源文件中的PageDescription.

那么我该如何在.NET中解决这个问题呢?理想情况下,我只是创建resx文件并在我的"Web.config"中指定文化,它应该工作...

<globalization uiCulture="fr-ca-clientX" culture="fr-ca-clientX" />
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用."标签包含'culture'属性的无效值"是我的第一个obsticle.

谢谢,
贾斯汀

asp.net resources localization resx cultureinfo

17
推荐指数
1
解决办法
1982
查看次数

.NET Application_BeginRequest - 如何获取用户参考?

我正在尝试在Global.asax文件中获取对用户对象的引用Application_BeginRequest.我正在使用该物业,Context.User但我得到了NullReferenceException.是否可以在Application_BeginRequest中获取用户对象引用?

asp.net global-asax

16
推荐指数
2
解决办法
1万
查看次数

构建x64版本时CS1607编译器警告

当我在Windows Server 2003上使用Visual Stuido 2008构建我的.net应用程序的x64版本时,我得到了

警告CS1607:程序集生成 - 引用程序集"mscorlib.dll"针对不同的处理器

这是否意味着我没有安装x64版本的.NET?

完整报告在这里

16> C:\ WINDOWS\Microsoft.NET\Framework\v3.5\Csc.exe/noconfig/nowarn:1701,1702/platform:x64/errorreport:prompt/define:DEBUG; TRACE/reference:..... .....\BIN\Jfc.Dealing\Jfc.Configuration.ConfigurationLayer.dll /reference:work..\BIN\Jfc.Dealing\Jfc.Sys.dll/reference:D:\ Projects\dzhukov\SourceCode_Integration_branch\TradeProcessor\Jfc\QuikExport\bin\x64\Debug\QuikExport.dll /reference:D:\Projects\dzhukov\SourceCode_Integration_branch\Samples\JFC\FxGate\QuoteFeedWcfRemoteControl\bin\x64\Debug\QuoteFeedWcfRemoteControl.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll/reference:"c:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll"/reference:"c:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.DataSetExtensions.dll"/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll/reference:C :\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Messaging.dll/reference:"C:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll"/ reference :"C:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.0\System.ServiceModel.dll"/reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll/reference :"c:\ Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Xml.Linq.dll"/ debug +/debug:full/filealign:512 /out:obj\x64\Debug\FeedRawQuotes.exe/target:exe FeedRawQuotes.cs FeedRawQuotesConfiguration.cs MSMQFeed.cs Program.cs Properties\AssemblyInfo.cs警告CS1607:程序集生成 - 引用程序集'System.Data.dll'针对不同的处理器警告CS1607:程序集生成 - 引用程序集'mscorlib.dll'针对不同的处理器

.net 64-bit

16
推荐指数
1
解决办法
1万
查看次数

根据x64/x86更改C#DllImport目标代码

可能重复:
预处理器指令... C#

我有一个使用DLLImport导入的外部c ++ dll.如果我的应用程序在x64中编译,我需要导入这个dll的x64版本,如果是x86版本,我需要x86 dll.

实现这一目标的最佳方法是什么?

理想情况下,我想要一些预处理器指令,但我知道这在c#中不起作用?

更多信息:DLL由一个设置为AnyCPU的项目导入.父项目是确定应用程序是否编译为x64或x86的项目.我们为不同的客户编译两个版本 - 我想在两个版本中共享子项目.

c# dllimport windows-7-x64 c-preprocessor

15
推荐指数
2
解决办法
7948
查看次数

SetWindowsHookEx失败,错误126

我正在尝试在项目中使用Gma.UserActivityMonitor库,我遇到了一个我自己无法克服的错误.

HookManager.Callbacks.cs文件中有一个静态方法EnsureSubscribedToGlobalMouseEvents,使用以下代码调用(或多或少):

var asm = Assembly.GetExecutingAssembly().GetModules()[0];
var mar = Marshal.GetHINSTANCE(asm);
s_MouseHookHandle = SetWindowsHookEx(
    WH_MOUSE_LL,
    s_MouseDelegate,
    mar,
    0);
//If SetWindowsHookEx fails.
if (s_MouseHookHandle == 0)
{
    //Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. 
    int errorCode = Marshal.GetLastWin32Error();
    //do cleanup

    //Initializes and throws a new instance of the Win32Exception class with the specified error. 
    throw new Win32Exception(errorCode);
}
Run Code Online (Sandbox Code Playgroud)

SetWindowsHookEx始终返回0和上面的代码中不断抛出与消息的异常 …

c# setwindowshookex

15
推荐指数
1
解决办法
7348
查看次数