与代表C#替换函数功能 [英] Replacing Func with delegates C#

查看:92
本文介绍了与代表C#替换函数功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在试图将内置的.NET 3.5到2.0的应用程序(的理由让我们的旧机器与XP等EXE运行不具有3.5)

虽然这样做的一切,现在卡上的一个重大问题,一个老式的委托更换Func键(如函数功能不适用于2.0)。在code被替换是这样的。

 私有函数功能:LT;对象,字符串> someName1;
私有静态函数功能:LT;对象,字符串> someName2;

内部函数功能:LT;对象,字符串> someProperty
{
      {返回someName1? (someName1 = someName2); }
      集合{someName1 =价值; }
}
 

可一些身体请帮我打造someProperty仅是通过委托的方式。 先谢谢了。

解决方案

 公共委托无效动作();
公共委托无效动作< T>(T(T));
公共委托无效动作< T,U>(T T,U U);
公共委托无效动作< T,U,V>(T T,U U,V V);

公共委托TResult Func键< TResult>();
公共委托TResult Func键< T,TResult>(T(T));
公共委托TResult Func键< T,U,TResult>(T T,U U);
公共委托TResult Func键< T,U,V,TResult>(T T,U U,V V);
公共委托TResult Func键< T,U,V,W,TResult>(T T,U U,V V,W W);
 

We are trying to move an application built in .NET 3.5 to 2.0 (reason to let our exe run on older machines with XP etc. which does not have 3.5)

While doing so everything is now stuck on one major problem Replacing Func with an old fashioned delegate (As Func is not available on 2.0). The code to be replaced is something like this.

private Func<object, string> someName1;
private static Func<object, string> someName2;

internal Func<object, string> someProperty
{
      get { return someName1?? (someName1= someName2); }
      set { someName1= value; }
}

Can some body please help me create 'someProperty' the way it is only by using delegates. Thanks in advance.

解决方案

public delegate void Action();
public delegate void Action<T>(T t);
public delegate void Action<T, U>(T t, U u);
public delegate void Action<T, U, V>(T t, U u, V v);

public delegate TResult Func<TResult>();
public delegate TResult Func<T, TResult>(T t);
public delegate TResult Func<T, U, TResult>(T t, U u);
public delegate TResult Func<T, U, V, TResult>(T t, U u, V v);
public delegate TResult Func<T, U, V, W, TResult>(T t, U u, V v, W w);

这篇关于与代表C#替换函数功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆