类公共静态成员的C#别名?

时间:2011-08-26 09:45:30

标签: c#

我有类RenderManager,它有公共静态成员TheRenderer。而不是RenderManager.Renderer可以为MyRenderer或其他任何东西创建别名吗?

谢谢

4 个答案:

答案 0 :(得分:2)

您可以创建指向该对象的类或方法级别符号,但不能创建指向该对象的真正全局别名,否。它仍然必须在其他对象中命名。

在本地,虽然(在函数或类中)你可以做var renderer = RenderManager.TheRenderer之类的事情,但你必须在任何想要使用该别名的地方都这样做。

答案 1 :(得分:0)

你的意思是var MyRenderer = RenderManager.TheRenderer;吗?即将静态成员的值赋给名为MyRenderer的变量?


与valipour的解决方案不同,如果RenderManager.TheRenderer值在分配后发生变化,MyRenderer将具有旧值。

答案 2 :(得分:0)

您可以声明Func或Action类型的变量。

如果TheRenderer有返回值:

static Func<bool> MyRenderer = () => RenderManager.TheRenderer();

如果不是:

static Action MyRenderer = () => RenderManager.TheRenderer();

如果TheRenderer接受一些输入参数,那么你应该使用其他形式的Func&lt;&gt;和行动&lt;&gt;。

Func<OutT, In1T, In2T, ...>
Action<In1T, In2T, ...>

答案 3 :(得分:0)

我认为你不能这样做。唯一的可能性是为Type而不是为其成员创建别名,如下所示:

using rnd = RendererManager; 

//and in code somewhere use 

rnd.TheRenderer

希望我理解你的意思。