我想知道在ASP.NET應用程序中是否有與PHP的call_user_func()
等效的函數。我期待從PHP應用程序到ASP.NET的轉換,作爲自學語言的一種方式,通過採用專業構建的CMS並嘗試以其他語言重新創建CMS。PHP到ASP.NET - call_user_func()等效?
我需要一個類似於這個功能的原因是因爲我的PHP CMS的當前結構涉及插件體系結構,並且CMS的特定部分公開自己的插件,然後它將返回的信息作爲數組處理。這幾乎與Drupal使用的系統相同。
我可能在這個錯誤的軌道?
我想澄清,我應該提供的是如何工作的我目前的系統中的實例:
<?php
class Test {
function TestMessage() {
// set up array
$arrTest = array("Hello", "World");
// get extra values from all available plugins
$arrExtras = CMS::InvokeHook("HelloTest");
// now contains Hello, World, Foo, Bar
$arrTests = array_merge($arrTest, $arrExtras);
}
}
class CMS {
InvokeHook($function) {
// now contains a couple plugins
$plugins = CMS::GetPlugins();
// empty array of values
$values = array();
foreach($plugins as $plugin) {
// if this plugin has the called method...
if(method_exists($plugin, $function)) {
// call the function and merge in the results
$values[] = call_user_func(array($plugin, $function));
}
}
// return results as an array
return $values;
}
}
class FooTest {
function HelloTest() {
return "Foo";
}
}
class BarTest {
function HelloTest() {
return "Bar";
}
}
?>
注:InvokeHook()調用被簡化,因爲我從內存中寫入這一點,但這是它的要點。
你能向我們解釋一下ASP.NET開發人員這個函數是幹什麼的嗎? – 2008-12-28 20:27:29