小编Jay*_*Jay的帖子

确定对象是否是任何谓词<T>

我有一个IList<Delegate>包含一些Func<bool>s和一些Predicate<T>s,其中T有所不同.我后来需要弄清楚这些项目中Predicate<T>的哪些是s,但是不想关闭Delegate以后在列表中添加其他类型的大门,所以我不想通过识别对象来做到这一点!(current_delegate is Func<bool>).

下面的最高抽象Predicate<T>MulticastDelegate,这似乎无益(需要非泛型Predicate类型Predicate<T>),并且鉴于Delegate列表中可能存在的其他通用s,识别泛型参数的存在也是无用的.

我认为唯一的另一件事是检查NameType.对我来说,字符串比较是近乎嗅觉,但也许这是最好的和/或唯一的方式 - 你告诉我.

什么是在不知道类型的情况下明确确定a object是什么的最佳方法?Predicate<T>T

.net c# reflection delegates types

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

绑定属性声明为接口vs类类型时,WPF绑定行为是否不同?

这开始于我认为与我的实现有关的奇怪行为,我ToString()问了这个问题:当ToString()有一个协作对象时,为什么WPF数据绑定不显示文本?

事实证明这与合作者无关,并且具有可重复性.

当我绑定Label.ContentDataContext声明为接口类型的属性ToString()时,在运行时对象上调用,标签显示结果.

当我绑定TextBlock.Text到同一个属性时,ToString()永远不会被调用,也不显示任何内容.但是,如果我将声明的属性更改为接口的具体实现,它将按预期工作.

这是不是设计?如果是这样,任何想法为什么?

重现:

  • 创建一个新的WPF应用程序(.NET 3.5 SP1)
  • 添加以下类:
public interface IFoo
{
    string foo_part1 { get; set; }
    string foo_part2 { get; set; }
}

public class Foo : IFoo
{
    public string foo_part1 { get; set; }

    public string foo_part2 { get; set; }

    public override string ToString() 
    { 
        return foo_part1 + " - " + foo_part2; 
    }
}
Run Code Online (Sandbox Code Playgroud)
public class Bar …
Run Code Online (Sandbox Code Playgroud)

.net c# data-binding wpf xaml

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

现在考虑实现LINQ to SQL或Entity Framework,打算稍后使用NHibernate

我有一个客户端 - 服务器应用程序的初始发布的截止日期,随后会有很多迭代发布.

NHibernate是首选的ORM,主要是声誉和我希望获得它的经验.

问题是我还没有机会加入NHibernate,我担心这样做会让我偏离最后期限.所以,我认为我现在要么使用LINQ to SQL或 Entity Framework,因为我对它们有一些经验,然后当我能够时,换掉NHibernate.

鉴于这种情况,在抽象数据访问或设计数据库模式时,我应该做些什么特别的考虑,以防止在迁移到NHibernate时出现大麻烦?

编辑:

正如Asad在下面链接的帖子所指出的那样,L2S将限制我每个类的表,这可能在第一次迭代中可以管理,但我不想沿着那条路走下去.现在让我们假设从EF到NH的未来迁移.

.net nhibernate orm entity-framework linq-to-sql

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

类型投影是相反的,还是仍然投影(或只是映射)?

这是基于我假设采用类型的对象:

public class Fruit : IBasicFruit, IFruitDetails
{
    // IBasicFruit implementation
    public string name { get; set; }
    public string color { get; set; }

    // IFruitDetails implementation
    public string scientific_name { get; set; }
    public bool often_mistaken_for_vegetable { get; set; }
    public float average_grams { get; set; }
    public int century_domesticated { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...并从中创建一个类型的对象:

public class BasicFruit : IBasicFruit
{
    public string name { get; set; }
    public string color { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...被称为"投影"或"类型投影"(该投影不仅适用于匿名类型). …

.net mapping orm projection

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

Exchange中的Active Directory组和组之间的关系(如果有)是什么?

任务创建一个登录页面,允许两个特定组的成员访问MVC项目中的某些控制器和操作,我开始创建AD的角色提供程序.我设法使用表单身份验证配置它,并枚举经过身份验证的用户在AD中所属的组.

然而,事实证明,我被要求设置的组不是AD组.我看到很多团体,但不是那些有问题的团体.

该请求基于以下事实:这些组出现在Exchange的全球通讯录中,但似乎没有1:1的关系.

什么关系吗?

exchange-server roles active-directory active-directory-group

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

在派生类的构造函数中添加事件处理程序或覆盖OnX()方法?

在设计派生类时,如果不需要更改方法,那么在ctorvs中覆盖OnEventName()方法并添加一些行为(以及调用基本方法)的基类事件中添加处理程序是否有优势?基本方法并不关心事情发生的顺序,但只想要一个具有一点额外行为的可重用组件?

基类:

public abstract class BaseClass
{
    public event EventHandler SomeEvent;
    protected void OnSomeEvent(object sender, EventArgs e)
    {
        // do some stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

选项A:

public class DerivedA
{
    protected override void OnSomeEvent(object sender, EventArgs e)
    {
        // do some other stuff
        base.OnSomeEvent(sender, e);
    }
}
Run Code Online (Sandbox Code Playgroud)

选项B:

public class DerivedB
{
    public DerivedB()
    {
        SomeEvent += (o,e) => { // do some other stuff };
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# events inheritance

5
推荐指数
1
解决办法
3765
查看次数

Stub属性setter与Rhino.Mocks在调用时执行一个动作?

这可以通过以下方法完成:

myStub.Stub(x => x.SomeMethod()).WhenCalled(x => do something);
Run Code Online (Sandbox Code Playgroud)

有没有办法在调用属性setter时可以做同样的事情?

c# unit-testing rhino-mocks mocking

5
推荐指数
1
解决办法
5764
查看次数

使用MSMQ的邮件系统(la MassTransit)的客户端要求?

以前没有使用过MSMQ,我根本不清楚使用它的客户端环境要求.

我正在设计一个客户端/服务器解决方案,它将与遗留系统集成,而且我会通过消息传递出售.我想使用像MassTransit这样的服务总线实现,但这需要MSMQ.

我是否必须确保每台客户端PC都安装了MSMQ?

我不认为我向管理员密码管理员销售此产品的前景非常好.

现在我可以可靠地期望每台客户机都安装了Windows XP Professional,但这可能会改变,我的理解是默认情况下不会在更新的操作系统上安装MSMQ,这将是一个更大的麻烦.

任何人都可以为我阐明这是如何工作的吗?我无法想象任何商业软件如何依赖MSMQ,除非我遗漏了一些重要的东西(我希望我是).

(服务器不是问题 - 我完全可以控制它.)

messaging msmq client-server masstransit message-queue

4
推荐指数
1
解决办法
1284
查看次数

我可以获取WPF ListBox来继承父元素的画笔吗?

我的WPF窗口将其前景画笔设置为资源字典中的画笔,我希望窗口中的所有文本都具有此颜色,因此我不会在其他任何内容中触摸前景画笔.

文本框获取颜色
Textblocks获取颜色
按钮获取颜色

列表框没有颜色,所以它们的内容也没有.

有没有办法让Listbox在这方面表现得像其他控件一样?

假设没有,并且这是设计的,理由是什么?

编辑:

看来我的问题还不够明确.

我理解如何创建样式和资源并将它们应用于ListBoxes; 我不知道为什么我需要为某些控件做到这一点时,我就没有需要为别人-为什么一些继承性和别人不一样-是否有什么办法可以让他们都以同样的方式继承.

.net wpf xaml listbox

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

如何在BlendDesigner中将UserControl添加到窗口?

我是一般使用Blend和WPF的初学者.我创建了三个用户控件.我还创建了一个应该包含用户控件的Window.

是否有任何设计师的方式,如拖动用户控件到窗口,这将使它自动出现?或者输入XAML是包含它的唯一方法?

wpf blend

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

你在哪里存储你的连接字符串?

在我的所有VB6应用程序中,连接信息都存储在数据库中的加密字段中.没有人可以访问数据库,如果有人这样做,他们只能看到一堆加密值.

这种方法总是存在缺陷.使用应用程序中的硬编码ID /密码获取所需的连接信息,以获取此连接信息并形成字符串.

在.NET世界中,我目前将这个硬编码的id /密码存储在app.exe.config文件中.推荐的方法是加密文件中的连接字符串?

我可以使用哪些类来执行此加密/解密?

.net frameworks connection-string

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

查找给定数组中是否重复任何元素的最佳方法?

查找给定数组中是否重复任何元素的最佳最佳方法是什么?

c arrays

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

通用数据库处理程序类,以便于在C#中访问所有流行的数据库

我需要一个类来轻松处理所有数据库.例如,使用ado和sql我们有SqlConnection,但它不是通用的,对于其他数据库类型,你必须使用其他类.

我想要一个DatabaseConnection类型的对象,让我轻松连接到各种类型的数据库,让我在数据库上运行查询.

c# database

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