j'ai un dictionnaire qui est de type Dictionnaire [string, handler_func] où
handler_func est un délégué de typedélégué C# et attributs question syntaxe
public delegate void HANDLER_FUNC(object obj, TcpClient client);
maintenant j'ai une classe d'attributs comme si
[AttributeUsage(AttributeTargets.Method)]
public class MessageHandlerAttribute : Attribute
{
public MessageHandlerAttribute(string s1, HANDLER_FUNC hf)
{
s1 = name;
msgtype = hf;
}
private string name;
public string HandlerName
{
get { return name; }
set { name = value; }
}
private HANDLER_FUNC msgtype;
public HANDLER_FUNC MessageName
{
get { return msgtype; }
set { msgtype = value; }
}
}
l'idée de base est que j'applique cet attribut à une méthode dans une classe et quelque part j'utiliser la réflexion pour remplir le Dictionnaire ci-dessus
problèmeest moins que cette méthode est statique, le attribuiez ne fonctionne pas si
[MessageHandlerAttribute("HandleLoginResponse",HandleLoginResponse)]
private void HandleLoginResponse(object obj, TcpClient client)
est à l'origine de la norme ont besoin d'une chose objet
Alors, quelles sont mes options (je ne veux pas la méthode de gestionnaire d'être statique Merci