类公共静态成员的c#别名

本文关键字:别名 静态成员 | 更新日期: 2023-09-27 18:06:47

我有RenderManager类,它有公共静态成员therrenderer。而不是RenderManager。我能给renderer创建别名吗,比如MyRenderer之类的?

谢谢

类公共静态成员的c#别名

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

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

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

using rnd = RendererManager; 
//and in code somewhere use 
rnd.TheRenderer

希望我没有理解你的意思。

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


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

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

如果therrenderer有返回值:

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

如果没有:

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

如果renderer接受一些输入参数,那么你应该使用其他形式的Func<>和Action<>。

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