我有公共靜態成員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
你試圖解決的實際問題是什麼? –