我正在开发一个大量使用代表的程序。为简单起见,假设我有下面的类:如何从代码块中引用C#委托?
class ProcContainer<T>
{
public delegate T Proc(ProcContainer<T> parentContainer); // my delegate type
public Proc Content; // a field in the class in which a Proc "instance" is stored
}
为了把它变成文字:Proc
是接受ProcContainer
作为其头(只)参数的委托类型。并且ProcContainer
在其Content
字段中包含Proc
“实例”。
现在我想创建这样一个委托:
T someVal = new T();
ProcContainer<T>.Proc proc = delegate(ProcContainer<T> parentContainer)
{
parentContainer.Content = <<<this_delegate>>>;
return someVal;
};
再次,把它变成文字:我想创建一个Proc
实例接受ProcContainer
的ProcContainer
的内容设置到Proc
在手边。
因此,如果我的Proc
被调用,它应该用自己覆盖提供的ProcContainer
的当前内容。
问题:我可以在C#中执行此操作吗?如果是的话:如何?
declare'ProcContainer .Proc proc = null';在分配真实代码之前...'ProcContainer .Proc proc = null; proc =委托(......)' –
Eser