IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Importation de méthodes dans une classe


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Par défaut Importation de méthodes dans une classe
    Bonjour

    Je développe un serveur de jeux multijoueurs dans le cadre d'un stage. Ce serveur doit pouvoir gérer plusieurs jeux différents en même temps.

    Le serveur gère très bien les joueurs réels pour l'instant et la prochaine étape est la gestion de joueurs virtuels (bots dotés d'intelligence artificielle (IA) rudimentaire).

    Cette gestion des bots doit être la plus générique possible, pour qu'après mon départ, l'IA pour les nouveaux jeux puisse être implémentée le plus facilement possible.

    Chaque bot est géré dans un thread et hérite de la classe Joueur humain.
    L'IA sera bien évidemment différente pour chaque jeu.
    Dans l'idéal, j'aimerais que le comportement du bot soit codé dans une DLL (une DLL par jeu) qui pourrait être importée à la volée depuis le thread Bot.

    Est-il possible d'importer une méthode depuis une DLL et qu'elle soit considérée comme appartenant à la classe Bot (et donc puisse accéder aux membres de la classe Bot) ?

    A quel moment DllImport est-il évalué ? Est-il possible de faire un appel de ce type :
    [DllImport("bot"+gameID+".dll)]
    sachant que la variable gameID est affectée dans le constructeur de la classe Bot ?


    Merci d'avance pour vos réponses, j'espère avoir été clair.
    PS : j'utilise SharpDevelop et non Visual Studio

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut .

    Pour répondre à ta question
    A quel moment DllImport est-il évalué ? Est-il possible de faire un appel de ce type :
    [DllImport("bot"+gameID+".dll)]
    [DllImport] est évalué au moment de la compilation donc tu ne peux pas faire ce que tu veux.

    Par contre si ton traitement est générique tu peux faire une classe abstraite et faire hériter ta classe bot de cette classe, une première idée.

    Sinon tu peux charger une dll dynamique si elle est écrite en dotnet. Pour ça je te conseil les articles suivants :
    - http://vincentlaine.developpez.com/t...net/appdomain/ ( tout ne te concerne pas mais la partie chargement dynamique si
    et
    - http://drq.developpez.com/dotnet/articles/plugin/

Discussions similaires

  1. [PHP 5.2] Importer un tableau dans une classe
    Par nazoreen dans le forum Langage
    Réponses: 3
    Dernier message: 25/05/2010, 19h09
  2. placer une méthode dans une classe
    Par totoche dans le forum UML
    Réponses: 8
    Dernier message: 29/05/2008, 17h04
  3. Ajout d'une méthode dans une classe
    Par Flow_75 dans le forum C++
    Réponses: 6
    Dernier message: 12/02/2007, 10h42
  4. Réponses: 4
    Dernier message: 25/05/2006, 14h46
  5. [POO] import d'objet dans une classe
    Par wdionysos dans le forum Langage
    Réponses: 3
    Dernier message: 01/04/2006, 21h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo