小编Sim*_*mon的帖子

如何在.net中分割动画gif?

如何在.net中将动画gif拆分为其组成部分?

具体来说,我想将它们加载到内存中的Image(s)(System.Drawing.Image)中。

======================

根据SLaks的回答,我现在有了这个

public static IEnumerable<Bitmap> GetImages(Stream stream)
{
    using (var gifImage = Image.FromStream(stream))
    {
        //gets the GUID
        var dimension = new FrameDimension(gifImage.FrameDimensionsList[0]);
        //total frames in the animation
        var frameCount = gifImage.GetFrameCount(dimension); 
        for (var index = 0; index < frameCount; index++)
        {
            //find the frame
            gifImage.SelectActiveFrame(dimension, index);
            //return a copy of it
            yield return (Bitmap) gifImage.Clone();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

.net file-format image-manipulation image gif

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

如何模拟System.DirectoryServices.SearchResult?

如果您有一个需要测试的方法,它会获取SearchResults列表

public virtual void ProcessResults(IList<SearchResult> list)
{
    //Code to tests here
}
Run Code Online (Sandbox Code Playgroud)

你如何模拟SearchResult列表?

注意:不允许使用低级注入框架(例如TypeMock).

.net c# unit-testing mocking active-directory

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

NServiceBus发布/订阅

我们正在努力寻找一种优雅的解决方案,用于报告从我们基础架构中的系统生成的异常,这些异常比查看电子邮件或检查日志文件更容易操作.跨服务总线的发布/订阅模型可以非常巧妙地解决这个问题.服务将发布错误/事件,并且子程序员可以使用简单模式匹配过滤这些消息.

我们一直在调查NServiceBus项目并想知道它是否能达到我们的要求,看看PubSub示例(http://docs.particular.net/samples/pubsub/),我们注意到它没有解决以下两种情况:

  1. 所有发布者都发布相同的消息类型
  2. 订阅者不应要求了解发布者端点

我们已设法达到这些要求,但我们不确定配置是否正确.以下是我们的解决方案:

  1. 所有发布者共享相同的订阅存储配置(DBSubscriptionStorage),这是一个共享数据库,如文档http://docs.particular.net/nservicebus/messaging/publish-subscribe/的订阅存储部分所述.

  2. 所有发布者/订阅者都配置为使用nservicebus网站上的文档中描述的分发者.

我们想知道这是否是NServiceBus发布/订阅模型的正确实现,或者是否有其他解决方案可以实现我们的目标?

c# nservicebus publish-subscribe nservicebus-distributor

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

是否可以在运行时创建绑定重定向?

应用程序启动后是否有一种方法可以创建适用于所有未来装配负载的绑定重定向?

.net assembly-resolution

5
推荐指数
2
解决办法
1481
查看次数

如何在加载程序集后为.net提供pdb数据?

使用此方法Assembly.Load(Byte(),Byte()) http://msdn.microsoft.com/en-us/library/twt16z2x.aspx 可以提供pdb文件的字节表示.

鉴于已经加载了程序集,可以在事后提供pdb数据.

编辑:我正在以编程方式谈论.即没有调试器

.net .net-assembly

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

如何使用反射检测场上的"新"修改器?

http://msdn.microsoft.com/en-us/library/435f1dw2.aspx

public class Base
{
    public string Field;
}
public class Child : Base
{
    public new string Field;
}

[TestFixture]
public class TestClass
{

    [Test]
    public void DetectNew()
    {
        var fieldInfo = typeof(Child).GetField("Field");
        //How do I tell fieldInfo has a new modifier?
        Debug.WriteLine(fieldInfo);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:我知道方法和属性我可以检查"MethodBase.IsHideBySig".为什么FieldInfo不存在类似的属性?

.net reflection

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

如何使用StrongNameKeyPair与密码保护密钥文件(pfx)?

我试图使用密码保护密钥文件(pfx)以编程方式签署程序集.但是,当我尝试使用StrongNameKeyPair时,我得到以下异常.

无法获取StrongNameKeyPair的公钥.在System.Reflection.StrongNameKeyPair.ComputePublicKey()处于System.Reflection.StrongNameKeyPair.get_PublicKey()

.net strongname code-signing pkcs#12 assembly-signing

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

任何.net语言都会公开'methodof'或'fieldof'

因此c#公开了typeof关键字,它为我们提供了对Type的强类型访问

var type = typeof(MyClass);
Run Code Online (Sandbox Code Playgroud)

但它并没有让我们访问methodoffieldof.这实际上看起来像这样.

var method = methodof(MyClass.MyMethod);
var getProperty = methodof(MyClass.get_MyProperty)
var setProperty = methodof(MyClass.set_MyProperty)
var field = fieldof(MyClass.myField);
Run Code Online (Sandbox Code Playgroud)

是否有其他语言公开此功能?

注意:发布c#反射代码不是此问题的有效答案

.net c# reflection typeof

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

为什么在反思中观察内部阶级不公开?

AKA为什么这个测试失败了?

[TestFixture]
public class Tests
{
    [Test]
    public void InnerClassShouldBePublic()
    {
        Assert.IsTrue(typeof (InnerClass).IsPublic);
    }

    public class InnerClass
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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

打开模拟时,为什么Thread.CurrentPrincipal.Identity和WindowsIdentity.GetCurrent()会有所不同?

我启用了模拟和Windows身份验证.

<authentication mode="Windows" />
<identity impersonate="true" userName="name" password="passord"/>
Run Code Online (Sandbox Code Playgroud)

但返回经过身份Thread.CurrentPrincipal.Identity.Name验证的用户的名称并WindowsIdentity.GetCurrent()返回模拟身份.

这些身份不应该相同吗?

在这种情况下,代码运行的凭据是什么?

asp.net security impersonation windows-identity current-principal

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