小编Gar*_*h D的帖子

如何在VB.Net中声明lambda事件处理程序?

我相信以下VB.Net代码相当于正在进行的C#代码; 但VB.Net测试失败 - 从未调用处理Lambda的事件.

到底是怎么回事?

VB.Net版本 - 失败:

<TestFixture()> _
Public Class TestClass
    <Test()> _
    Public Sub EventTest()
        Dim eventClass As New EventClass
        Dim eventRaised As Boolean = False
        AddHandler eventClass.AnEvent, Function() (eventRaised = True)
        eventClass.RaiseIt()
        Assert.IsTrue(eventRaised)
    End Sub    
End Class

Public Class EventClass
    Public Event AnEvent()
    Public Sub RaiseIt()
        RaiseEvent AnEvent()
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

C#版本 - 通过:

[TestFixture]
    public class TestClass
    {
        [Test]
        public void EventTest()
        {
            var eventClass = new EventClass();
            var eventRaised = false;
            eventClass.AnEvent += …
Run Code Online (Sandbox Code Playgroud)

c# vb.net events lambda unit-testing

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

MS WF状态机工作流程和MS CRM Dynamics 4.0

MS CRM Dynamics 4.0包含MS WF引擎.内置设计器允许创建顺序工作流,其中活动可以本机访问CRM实体.

是否有可能:

  • 在CRM之外创建一个状态机工作流程(即在visual studio中)并将其导入CRM?
  • 让这个工作流程访问CRM实体吗?

workflow crm dynamics-crm workflow-foundation

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

StructureMap'条件单例'用于Lucene.Net IndexReader

我有一个线程安全对象,创建起来很昂贵,需要通过我的应用程序(Lucene.Net IndexReader)提供.

该对象可能变为无效,此时我需要重新创建它(IndexReader.IsCurrent为false,需要使用IndexReader.Reopen的新实例).

我希望能够使用IoC容器(StructureMap)来管理对象的创建,但是如果可能的话,我无法解决.感觉就像某种"有条件的单身"生命周期.

StructureMap是否提供了这样的功能?还有其他建议吗?

c# structuremap singleton lucene.net ioc-container

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

在派生属性类型上表彰AttributeUsage

鉴于以下情况,我不希望编译器允许从base属性派生的多个属性,因为它们设置为AllowMultiple = false.事实上它编译没有问题 - 我在这里缺少什么?

using System;

[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=true)]
abstract class BaseAttribute : Attribute { }

sealed class DerivedAttributeA : BaseAttribute { }

sealed class DerivedAttributeB : BaseAttribute { }

    class Sample1
    {
        [DerivedAttributeA()]
        [DerivedAttributeB()]
        public string PropertyA{ get; set; } // allowed, concrete classes differ

        [DerivedAttributeA()]
        [DerivedAttributeA()]
        public string PropertyB { get; set; } // not allowed, concrete classes the same, honours AllowMultiple=false on BaseAttribute
    }
Run Code Online (Sandbox Code Playgroud)

c# inheritance attributes allowmultiple

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

确定.Net中两个类之间的属性调用

给定两个.Net类型,类型A和类型B,如何确定对类型B的所有属性调用(包括类型A的子类)?

.net reflection static-analysis

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