小编Jon*_*n B的帖子

有关C#和ZeroC ICE的任何经验

http://www.zeroc.com/

我听说它在跨平台互操作和性能方面要好得多.

c# ice

8
推荐指数
2
解决办法
2054
查看次数

Hibernate子查询detachedCriteria

如何在具有多个子查询的hibernate中编写子查询.例如

select * from project_dtls where project_id in  
  (select project_id from project_users where user_id =
  (select user_id from user_dtls where email='abc@email.com'))
Run Code Online (Sandbox Code Playgroud)

我知道我们可以通过DetachedCriteria编写,但找不到任何可以使用多个子查询的示例.

hibernate subquery detachedcriteria

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

处理不应为null的C#属性

在为我正在处理的项目设置一些引用类型属性时,我遇到了一些需要正确初始化才能使用的属性,并且永远不应为null.我已经看到了一些方法来处理这个问题,并且无法确定我看到处理这个问题的主要方法是否存在任何重大缺陷.我想得到社群对处理这个问题的最佳方法的看法,以及每种方法可能存在的缺点.

给定一个简单的类,我已经看到了几种方法来确保属性永远不会在属性中具有此类的null版本

public class MyClass
{
  //Some collection of code
}
Run Code Online (Sandbox Code Playgroud)

选项1 - 初始化后备存储

public class OtherClass1
    {
        private MyClass _mC = new MyClass();
        public MyClass MC
        {
            get { return _mC; }
            set { _mC = value; }
        }
    }
Run Code Online (Sandbox Code Playgroud)

选项2 - 在构造函数中初始化属性

public class OtherClass2
    {
        public MyClass MC { get; set; }     

        public OtherClass2()
        {
            MC = new MyClass(); 
        }
    }
Run Code Online (Sandbox Code Playgroud)

选项3 - 根据需要处理Getter中的初始化

public class OtherClass3
    {
        private MyClass _mC;
        public MyClass MC
        {
            get
            { …
Run Code Online (Sandbox Code Playgroud)

c# properties

7
推荐指数
1
解决办法
4138
查看次数

如何使用C#WinForms在MVP中的视图之间导航?

据我所知,当我们使用MVP时,我们将所有表示逻辑移动到Presenter.但我们不想让Presenter了解视图实现,那么我们如何导航到应用程序中的另一个屏幕呢?您如何管理实际应用程序的应用程序流程?

c# mvp design-patterns winforms

7
推荐指数
1
解决办法
3303
查看次数

将颜色淡化为白色(增加亮度)

我希望.NET中的文本框"发光"为黄色,然后"淡化"为白色(基本上,通过逐步增加亮度).我认为Stackoverflow会在您发布答案后执行此操作.我知道增加亮度并不是那么简单(它不仅仅是均匀地增加/减少RGB),但我不知道如何做到这一点.

完美的色彩准确性对此并不重要.我正在使用C#,虽然VB的例子也很好.

编辑:这适用于Winforms.

.net c# interpolation colors winforms

7
推荐指数
1
解决办法
4268
查看次数

如何在C#中使用GetNextWindow()?

Microsoft WinAPI文档似乎表明user32.dll包含一个被调用的函数GetNextWindow(),该函数允许通过重复调用此函数来枚举其Z顺序中的打开窗口.

Pinvoke通常给我一个必要的DllImport声明来使用C#中的WinAPI函数.但是,因为GetNextWindow()它没有条目.所以我试着构建自己的:

[DllImport("user32.dll")]
static extern IntPtr GetNextWindow(IntPtr hWnd, uint wCmd);
Run Code Online (Sandbox Code Playgroud)

不幸的是,当试图打电话给我时,我得到一个EntryPointNotFoundException说法:

Unable to find an entry point named 'GetNextWindow' in DLL 'user32.dll'.
Run Code Online (Sandbox Code Playgroud)

这似乎只适用于GetNextWindow(); Pinvoke上列出的其他功能都很好.我可以打电话GetTopWindow()GetWindowText()不会抛出异常.

当然,如果您可以建议一种完全不同的方式来枚举当前Z顺序中的窗口,我也很高兴听到这一点.

c# windows winapi

7
推荐指数
1
解决办法
9964
查看次数

.NET SplitContainer使用C#Windows窗体

我添加了一个SplitContainer,在两个窗格之间有一个水平条.我可以添加内容,并上下移动栏以调整容器的大小,但栏本身是不可见的.我希望我的应用程序的用户看到这两个区域之间的可见分割.我怎样才能做到这一点?

c# user-interface winforms

7
推荐指数
1
解决办法
1926
查看次数

有没有办法从该属性的getter获取PropertyInfo?

有什么方法可以PropertyInfo从吸气剂中获取物业吗?像这样:

public object Foo
{
    get
    {
        PropertyInfo propertyInfoForFoo = xxx;
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我想避免将属性的名称硬编码为字符串,因为维护起来很棘手.

我正在使用.NET 2.0,所以我希望能够使用无linq的解决方案.

.net c# reflection properties propertyinfo

7
推荐指数
1
解决办法
639
查看次数

获取ListBox中所选项的文本

我试图在消息框中显示listBox1的选定项目,这里是代码:

int index;
string  item;
foreach (int i in listBox1 .SelectedIndices )
{
    index = listBox1.SelectedIndex;
    item = listBox1.Items[index].ToString ();
    groupids = item;
    MessageBox.Show(groupids);
}
Run Code Online (Sandbox Code Playgroud)

问题是当我选择多个项目时,消息框显示我选择的第一个并重复消息EX:如果我选择了3个项目,则消息将在第一个项目中出现3次

c# winforms

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

运行基于Microsoft .NET Framework 4的应用程序时出现"错误模块名称:clr.dll"错误消息

我有一个正常工作的应用程序,直到我继续使用Dot net framework 4.现在每当我安装并打开我的应用程序时,它会崩溃,并显示以下错误消息.

 Problem signature:
 Problem Event Name:    APPCRASH
 Application Name:  Myapplication.exe
 Application Version:   8.0.18428.531
 Application Timestamp: 50dc3ecf
 Fault Module Name: clr.dll
 Fault Module Version:  4.0.30319.1
 Fault Module Timestamp:    4ba21eeb
 Exception Code:    c00000fd
 Exception Offset:  000000000010791f
 OS Version:    6.1.7601.2.1.0.256.1
 Locale ID: 1033
 Additional Information 1:  4598
 Additional Information 2:  45986a8b8021cca3bd025450731a9c6a
 Additional Information 3:  e90e
 Additional Information 4:  e90e0a2cf591d6675172685f07f0ec36
Run Code Online (Sandbox Code Playgroud)

我做了一些谷歌搜索,发现我们不是唯一一个面临这个问题的人.然后我发现这个链接 http://support.microsoft.com/kb/2640103 ,它告诉Dot net framework 4的问题,并建议安装一个解决此问题的修补程序.问题是?我无法弄清楚从哪里得到他们正在谈论的修补程序.

有人建议这个链接的修补程序 https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29638

我下载并安装它但仍然出现相同的错误.我安装了正确的修补程序.请指导我.

.net

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