小编Joh*_*ers的帖子

为什么WinForms标签不希望透明的原因?

为什么我不能将Label的BackColor设置为Transparent?我以前做过,但现在它只是不想......

我创建了一个新的UserControl,添加了一个进度条和一个标签.当我将标签的BackColor设置为透明时,它仍然是灰色的= /为什么会这样?

我想要的是将标签放在进度条的顶部,以便其文本"在"进度条中"...

c# transparency winforms

29
推荐指数
4
解决办法
3万
查看次数

是否有可能在.NET中捕获访问冲突异常?

我有什么可以做的AccessViolationException吗?它是由我无法控制的非托管DLL引发的.

.net exception-handling unmanaged

29
推荐指数
3
解决办法
2万
查看次数

什么时候使用C#ref关键字一个好主意?

我在生产代码中看到的参数越多,我遇到的误用就越多,它给我带来的痛苦就越多.我讨厌这个关键字,因为从框架构建的角度来看,它似乎很愚蠢.什么时候向代表用户传达可能会更改对象引用/值的概念?

相比之下,我喜欢关键词,在没有使用任何关键词的情况下我更喜欢,因为在使用它们时给予了保证.另一方面,Ref不能保证,除非你在被传入之前被迫初始化参数,即使它没有任何改变.

我不是一个圣人开发者; 我确信它有实际适用的用途.我只想知道它们是什么.

.net c# parameters interface

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

是否可以在C#中返回对变量的引用?

我可以返回对double值的引用吗?

这就是我想要做的:

ref double GetElement()
{
   ......
   // Calculate x,y,z
   return ref doubleArray[x,y,z];
}
Run Code Online (Sandbox Code Playgroud)

要像这样使用它

void func()
{
   GetElement()=5.0;
}
Run Code Online (Sandbox Code Playgroud)

这就像在C++中返回一个双指针......我知道我写它的方式是错误的......但是有没有正确的方法呢?

c# reference return-value

29
推荐指数
4
解决办法
3万
查看次数

从非管理员应用程序以管理员身份运行流程

从未以管理员身份运行的应用程序,我有以下代码:

ProcessStartInfo proc = new ProcessStartInfo();
proc.WindowStyle = ProcessWindowStyle.Normal;
proc.FileName = myExePath;
proc.CreateNoWindow = false;
proc.UseShellExecute = false;
proc.Verb = "runas";
Run Code Online (Sandbox Code Playgroud)

当我调用Process.Start(proc)时,我没有弹出请求以管理员身份运行的权限,并且exe不以管理员身份运行.

我尝试将app.manifest添加到myExePath中找到的可执行文件,并将requestedExecutionLevel更新为

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

使用更新的app.manifest,在Process.Start(proc)调用中,我得到一个异常,"请求的操作需要提升."

为什么.Verb操作没有设置管理员权限?

我正在测试Windows Server 2008 R2 Standard.

c# uac processstartinfo runas

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

任何人都可以在Javascript中推荐一个好的Hashtable实现吗?

我发现jCache和其他一些使用关联数组的本土方法.如果您有使用jCache的经验,是否有任何限制?

javascript dictionary associative-array hashtable

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

C#using语句捕获错误

我只是看着使用声明,我一直都知道它的作用,但直到现在还没有尝试使用它,我已经提出了以下代码:

 using (SqlCommand cmd = 
     new SqlCommand(reportDataSource, 
         new SqlConnection(Settings.Default.qlsdat_extensionsConnectionString)))
 {
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.Add("@Year", SqlDbType.Char, 4).Value = year;
     cmd.Parameters.Add("@startDate", SqlDbType.DateTime).Value = start;
     cmd.Parameters.Add("@endDate", SqlDbType.DateTime).Value = end;
     cmd.Connection.Open();

     DataSet dset = new DataSet();
     new SqlDataAdapter(cmd).Fill(dset);
     this.gridDataSource.DataSource = dset.Tables[0];
 }
Run Code Online (Sandbox Code Playgroud)

这似乎是工作,但有没有因为就在这个任何一点我可以告诉我还需要附上这在try catch块捕捉不可预见的错误,例如SQL服务器停机.我错过了什么吗?

据我目前所知,它只是阻止我关闭和处理cmd,但由于仍需要try catch,因此会有更多行代码.

c# using using-statement

28
推荐指数
5
解决办法
5万
查看次数

如何在代码中建模多对多关系?

假设我在数据库中有2个表.例如:Dog&Boss这是一个多对多的关系,因为老板可以拥有超过1只狗,而一只狗可以有超过1只拥有者.我是Bobby的老板,但我的妻子也是.

但是很多人不被允许,所以有一个很好的帮助:DogsPerBoss

如何在代码中对此进行建模?

班老板可以拥有一系列狗.Class Dog可以拥有一系列老板. - >至少,这就是我的想法.也许有更好的解决方案?

辅助表中的额外数据怎么样?应该是de Boss级还是Dog级?例如:昵称(我叫狗"好孩子",我的妻子叫他"小狗")

我希望我的问题有点清楚吗?有什么最好的方法来实现这个目标是什么?你能给我一些参考吗?

ORM(如NHibernate)不是一个选项.

c# modeling many-to-many

28
推荐指数
3
解决办法
2万
查看次数

如何在COMPILATION期间查看解析树,中间代码,优化代码和汇编代码?

我正在学习编译器课程,程序汇编遵循以下步骤

  1. 词汇分析
  2. 语法分析
  3. 语义分析
  4. 中间代码生成
  5. 代码优化
  6. 目标代码生成.

如何查看每个步骤的输出,例如我希望在语法分析后看到解析树.

我正在使用GCC编译器在Linux机器上编译程序.

我们可以通过在gcc中使用-Wa编译器选项来查看程序的汇编代码,同样可以看到Tokens,Parse tree和Inetmediate代码.

compiler-construction parsing gcc disassembly

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

protobuf-net:序列化一个空列表

我们在序列化一个空列表时遇到了一些问题.这里有一些使用CF 2.0的.NET代码

//Generating the protobuf-msg
ProtoBufMessage msg = new ProtoBufMessage();
msg.list = new List<AnotherProtobufMessage>();
// Serializing and sending throw HTTP-POST
MemoryStream stream = new MemoryStream();
Serializer.Serialize(stream, msg);
byte[] bytes = stream.ToArray();
HttpWebRequest request = createRequest();
request.ContentLength = bytes.Length ;

using (Stream httpStream = request.GetRequestStream())
{              
      httpStream.Write(bytes, 0, bytes.Length);
}
Run Code Online (Sandbox Code Playgroud)

当我们尝试在流上写入时(bytes.length超出范围),我们得到了一个异常.但是具有空列表的类型不应该是0字节,对(类型信息?)?

我们需要这种类型的发送,因为在响应中是来自服务器的消息给我们的客户端.

.net c# serialization protobuf-net

28
推荐指数
1
解决办法
7542
查看次数