小编alb*_*jan的帖子

维护一堆通用功能

有没有更好的方法来管理一堆通用函数?这些都具有看起来几乎相同的实现.然而改变他们是一个僧侣工作atm.

实现的接口如下所示:

 IProxy<T> AddInterceptor<T1, TResult>(Expression<Action<T>> functionOrProperty, Func<Func<T1, TResult>, T1, TResult> func);
 IProxy<T> AddInterceptor<T1, T2, TResult>(Expression<Action<T>> functionOrProperty, Func<Func<T1, T2, TResult>, T1, T2, TResult> func);
 IProxy<T> AddInterceptor<T1, T2, T3, TResult>(Expression<Action<T>> functionOrProperty, Func<Func<T1, T2, T3, TResult>, T1, T2, T3, TResult> func);
 IProxy<T> AddInterceptor<T1, T2, T3, T4, TResult>(Expression<Action<T>> functionOrProperty, Func<Func<T1, T2, T3, T4, TResult>, T1, T2, T3, T4, TResult> func);
 IProxy<T> AddInterceptor<T1, T2, T3, T4, T5, TResult>(Expression<Action<T>> functionOrProperty, Func<Func<T1, T2, T3, T4, T5, TResult>, T1, T2, T3, T4, T5, TResult> func);
 IProxy<T> AddInterceptor<T1, T2, …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

Python Turtle Module-保存图像

我想弄清楚如何在使用python的turtle模块创建绘图后保存位图或矢量图形图像.经过一番谷歌搜索后,我找不到一个简单的答案.我找到了一个名为canvas2svg的模块,但我对python很新,我不知道如何安装模块.是否有一些内置的方法来保存龟帆布的图像?如果不是我在哪里将自定义模块放在Ubuntu机器上?

python vector-graphics turtle-graphics

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

一次取消选中所有JQuery单选按钮组

使用jQ-ui的按钮功能

<script>
    $(function() {
        $( "#radio" ).buttonset();
    });
    </script>


    <div id="radio">
        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label>
        <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
        <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
    </div>
Run Code Online (Sandbox Code Playgroud)

有没有办法一次取消选中buttonset的所有单选按钮?

javascript jquery jquery-ui

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

BouncyCastle RSAPrivateKey到.NET RSAPrivateKey

我正在创建一个证书分发系统来跟踪客户和东西.

会发生什么:

  • 客户端将CSR发送到服务器
  • 服务器检查并签署证书
  • 服务器将签名证书发送给客户端
  • 客户端在Windows存储中放置签名证书和私钥.

所以在客户端会发生这种情况:

//Pseudo Server Object:
Server s = new Server();  

//Requested Certificate Name and things
X509Name name = new X509Name("CN=Client Cert, C=NL");  

//Key generation 2048bits
RsaKeyPairGenerator rkpg = new RsaKeyPairGenerator();
rkpg.Init(new KeyGenerationParameters(new SecureRandom(), 2048));
AsymmetricCipherKeyPair ackp = rkpg.GenerateKeyPair();  

//PKCS #10 Certificate Signing Request
Pkcs10CertificationRequest csr = new Pkcs10CertificationRequest("SHA1WITHRSA", name, ackp.Public, null, ackp.Private);  

//Make it a nice PEM thingie
StringBuilder sb = new StringBuilder();
PemWriter pemwrit = new PemWriter(new StringWriter(b));
pemwrit.WriteObject(csr);
pemwrit.Writer.Flush();
s.SendRequest(sb.ToSting());
Run Code Online (Sandbox Code Playgroud)

好吧我会跳过服务器端只要相信我服务器签署证书并将其发送回客户端.多数民众赞成在那里我会采取行动.

PemReader pr …
Run Code Online (Sandbox Code Playgroud)

.net cryptography rsa bouncycastle csr

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

在Root中插入证书(带私钥),LocalMachine证书存储在.NET 4中失败

我在localmachine的根证书存储中插入带有私钥的新CA证书时遇到问题.

这是发生的事情:

//This doesn't help either.
new StorePermission (PermissionState.Unrestricted) { Flags = StorePermissionFlags.AddToStore }.Assert();
var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
privkey.PersistKeyInCsp = true;
//This shouldn't be necessary doesn't make a difference what so ever.
RSACryptoServiceProvider.UseMachineKeyStore = true;
cert.PrivateKey = privkey;
store.Open (OpenFlags.MaxAllowed);
store.Add (cert);
store.Close ();
Run Code Online (Sandbox Code Playgroud)

证书被插入,它看起来都很花哨:(见!) 请注意它说它有一个私钥

注意:据说它有一个私钥.

所以你会说用FindPrivateKey可以找到它

C:\Users\Administrator\Desktop>FindPrivateKey.exe Root LocalMachine -t "54 11 b1 f4 31 99 19 d3 5a f0 5f 01 95 fc aa 6f 71 12 13 eb"
FindPrivateKey failed for the following …
Run Code Online (Sandbox Code Playgroud)

c# bouncycastle certificate .net-4.0 x509certificate

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

动态创建模板的泛型类型

我正在使用ChannelFactory编写WCF,它需要一个类型来调用CreateChannel方法.例如:

IProxy proxy = ChannelFactory<IProxy>.CreateChannel(...);
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我正在做路由,所以我不知道我的渠道工厂将使用什么类型.我可以解析一个消息头来确定类型,但我在那里碰到了一堵砖墙,因为即使我有一个Type I实例也无法传递ChannelFactory期望泛型类型的实例.

用非常简单的术语重述这个问题的另一种方法是我试图做这样的事情:

string listtype = Console.ReadLine(); // say "System.Int32"
Type t = Type.GetType( listtype);
List<t> myIntegers = new List<>(); // does not compile, expects a "type"
List<typeof(t)> myIntegers = new List<typeof(t)>(); // interesting - type must resolve at compile time?
Run Code Online (Sandbox Code Playgroud)

我可以在C#中使用这种方法吗?

c# generics

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

为什么不在f#中自动向上转换

我在F#中实现了一个C#接口,它看起来像:

public interface IThings
{
    Stream ThingsInAStream()
}
Run Code Online (Sandbox Code Playgroud)

我的实现看起来像:

type FSharpThings() = 
    interface IThings with
       member this.ThingsInAStream() = 
           let ms = new MemoryStream()
           // add things to stream
           ms
Run Code Online (Sandbox Code Playgroud)

现在我收到消息:

The expression was expected to have type 
  Stream
but here has type
  MemoryStream
Run Code Online (Sandbox Code Playgroud)

我不明白MemoryStream 一个Stream我知道我可以把它像流一样:

ms :> Stream
Run Code Online (Sandbox Code Playgroud)

同样的[|"string"|],IEnumerable<string>它实现了接口,我可以显式地转换它,但它不能自动工作.

为什么这样做?

let things:(IEnumerable<'a> -> 'a) = (fun f -> f.First())

let thing= things([|"";""|])
Run Code Online (Sandbox Code Playgroud)

这也是自动向上转换!

f# casting

14
推荐指数
2
解决办法
1034
查看次数

有趣的我应该什么时候使用它们的用途

我似乎无法绕过他们.

据我所知,它是动态地向类添加逻辑.框架内的课程是否为此准备好了?

我为什么要扩展类并在扩展中添加它的功能.我将在全球范围内访问,并且更容易维护.

我读过有4种仿函数类型:

Comparer
Closure
谓词
变压器

我们应该处理它们中的每一个.

ps在vb中有类似的东西吗?

所以我可以说我认为lambda表达式是仿函数.这为我清理了一些东西:)(呵呵)

  • Lambda表达式是算子?
  • 匿名函数是函子吗?

但我问了这个问题,因为我遇到了另一种类型的fucntors,即这些:

delegate void FunctorDelegate(int value);
class Addition {
    FunctorDelegate _delegate;

    public Addition AddDelegate(FunctorDelegate deleg) {
        _delegate += deleg;
        return this;
    }
    public int AddAllElements(IList< int> list) {
        int runningTotal = 0;
        foreach( int value in list) {
            runningTotal += value;
            _delegate(value);
        }
        return runningTotal;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后用这个调用它:

 int runningTotal = new Addition()
     .AddDelegate(new FunctorDelegate(
                     delegate(int value) {
                         if ((value % 2) == 1) {
                             runningOddTotal += value; …
Run Code Online (Sandbox Code Playgroud)

.net c# generics lambda functor

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

线程,两个线程之间的通信c#

我想知道在两个线程之间实现通信的最佳方法是什么.我有一个生成随机数的线程(类Sender),现在我想要另一个线程(类Receiver)接收生成的随机数.这是发件人:

public  class Sender
{
    public int GenerateNumber(){


        //some code
        return randomNumber;
    }
}
Run Code Online (Sandbox Code Playgroud)

在Main函数中,我将启动这些线程:

static void Main(string[] args){

     Sender _sender=new Sender();
     Thread thread1=new Thread(new ThreadStart(_sender.GenerateNumber));

}
Run Code Online (Sandbox Code Playgroud)

我感谢您的帮助

.net c# multithreading visual-studio

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

函数签名是一种类型的一部分(它不再是通用的)

为什么这些功能的签名不同?

这个功能:

type a () = 
    member this.ThirdElementOfTupleFromListToSequence = function 
        | (q, w, ids) -> (q,w, (List.toSeq ids))
Run Code Online (Sandbox Code Playgroud)

有这个签名: (obj * obj * obj list -> obj * obj * seq<obj>)

当我使用let以下方式分配相同的功能时:

let ThirdElementOfTupleFromListToSequence = function 
    | (q, w, ids) -> (q,w, (List.toSeq ids))
Run Code Online (Sandbox Code Playgroud)

它有这个签名: ('a* 'b * 'c list -> 'a * 'b * seq<'c>)

这两个功能都不用于任何地方.

f#

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