我有公共静态成员TheRenderer的类RenderManager。而不是RenderManager.TheRenderer可以创建别名像MyRenderer或任何?类公共静态成员的C#别名?
谢谢
我有公共静态成员TheRenderer的类RenderManager。而不是RenderManager.TheRenderer可以创建别名像MyRenderer或任何?类公共静态成员的C#别名?
谢谢
你仅仅意味着var MyRenderer = RenderManager.TheRenderer;
?即将静态成员的值分配给名为MyRenderer
的变量?
不是,不像valipour的解决办法,如果你以后的RenderManager.TheRenderer
价值变动分配给它,MyRenderer
将有旧值。
您可以声明类型为Func或Action的变量。
如果TheRenderer有返回值:
static Func<bool> MyRenderer =() => RenderManager.TheRenderer();
如果不是:
static Action MyRenderer =() => RenderManager.TheRenderer();
如果TheRenderer接受一些输入参数,那么你应该使用Func键<的其他形式>和行动<>。
Func<OutT, In1T, In2T, ...>
Action<In1T, In2T, ...>
这可以起作用,除了在访问RenderManager.TheRenderer()的返回值之前需要调用'Invoke()'方法,即'MyRenderer.Invoke()'。 –
我不认为你可以这样做。唯一的可能性是建立一个别名Type
而不是它的成员,这样的事情:
using rnd = RendererManager;
//and in code somewhere use
rnd.TheRenderer
希望我正确理解你的意思。
您可以创建指向该对象的类或方法级符号,但不能创建指向该对象的真正的全局别名no。它仍然必须在某些其他对象中使用名称空间。
尽管(在一个函数或类中),你可以做类似var renderer = RenderManager.TheRenderer
的事情,但是在任何你想使用别名的地方你都必须这样做。
对,就这样你必须到处去做。我希望有其他的方法。 – pokoko222
不确定您的会员的别名是什么意思。 – BoltClock
这可能是有趣的:http://stackoverflow.com/questions/1423809/how-to-import-a-static-class-in-c – alun
你试图解决的实际问题是什么? –