我有类RenderManager,它有公共静态成员TheRenderer。而不是RenderManager.Renderer可以为MyRenderer或其他任何东西创建别名吗?
谢谢
答案 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
希望我理解你的意思。