Trong SignalR có tài sản công cộng quy định tại các HubConnectionContext như vậy:Làm thế nào để sử dụng một biến như một tên phương pháp sử dụng đối tượng năng động
public dynamic All { get; set; }
Điều này cho phép người dùng có thể gọi nó là thích: All.someMethodName();
đó là rực rỡ.
Tôi bây giờ muốn gọi điều này bằng cách sử dụng tham số đến trong hàm của tôi. Tôi có thể làm cái này như thế nào?
Như trong: All.<my variable as method name>();
Có cách nào để thực hiện việc này không?
Cảm ơn
EDIT dụ:
public void AcceptSignal(string methodToCall, string msg)
{
Clients.All.someMethod(msg); // THIS WORKS
Clients.All.<methodToCall>(msg); // THIS DOES NOT WORK (But I would like it to!)
}
Bạn có thể làm cho nó rõ ràng hơn? –
Bạn sẽ cần phải sử dụng sự phản chiếu. Một cái gì đó như 'All.GetType(). GetMethod (theParameter) .Invoke (Tất cả, đối tượng mới [] {});'. –
Cảm ơn Jeppe - điều này sẽ làm chậm các cuộc gọi đến nhiều ... Nếu đó là cách duy nhất tôi có thể phải làm những việc khác đi! – Marcel