0
爲什麼不此代碼編譯:Action委託作爲成員不編譯
public class FakeESBSingleMessage<T> : IBusEnabledClass
{
private Action<T> SubscribedAction { get; set; }
#region IBusEnabledClass
public void Publish<T>(T message)
{
SubscribedAction(message);
}
public void Subscribe<T>(string ID, Action<T> action)
{
SubscribedAction = action;
}
#endregion
}
它給出以下的錯誤:
錯誤37參數1:無法從「T [轉換.. FakeESBSingleMessage.cs(8)]'to'T'..FakeESBSingleMessage.cs 16 30
錯誤39無法將類型'System.Action [mscorlib.dll]'隱式轉換爲'System.Action [mscorlib.dll]'.. FakeESBSingleMessage.cs 21 32
錯誤36委託'System.Action'有一些無效的參數.. \ FakeESBSingleMessage.cs 16 13
我正在嘗試創建一個用於測試的假ESB組件,它保存在Subscribe上傳遞的委託,並在調用發佈時調用它。
是的,這是問題,謝謝! – 79E09796 2012-08-02 08:56:32