Exemple Simple de l'utilisation du Système. Les minuteries. Minuteur en C#

J'ai lu le site MSDN et tout, mais je ne trouve pas d'explication simple sur la façon d'élever un événement chronométré qui accepte les arguments qui peuvent être un string ou double. Les exemples fournis utilise ElapsedEventArgs mais aucun ne montre une bonne façon de mettre en œuvre mes propres arguments pour les événements déclenchés.

Mon code (je n'ai pas testé donc peut-être mal):

private double Pressure_Effect(double p, int t){
        time=(double) t;
        v=(((p/(rho*y))-g)*time)/(1.0+(mu*time/(rho*y*x)));
        return v;

    }
    private void Time_Handle(){
        System.Timers.Timer startTimer=new System.Timers.Timer(70);
        startTimer.Elapsed += new ElapsedEventHandler(Activate_Pressure);

    }
    private void Activate_Pressure(object source, ElapsedEventArgs e){
        pressure=2.5;
        double v=Pressure_Effect(pressure, 70);

    }

Ce que je veux faire est Activate_Pressure est superflu le sens que si je peux transmettre l'événement directement à Pressure_Effect qui je ne sais pas comment. Je suis novice en C#, donc s'il vous plaît garder avec moi. Je sais que je n'ai pas activé la minuterie et d'autres pièces essentielles peut être manquant dans ce code, mais j'ai posté juste pour faire ma question claire.

  • Tu vas vouloir prendre cette demande dans un salon de discussion à tout le moins.
  • ici est votre exemple
  • google peut vous donner l'exemple
  • Pouvez-vous montrer le code que vous utilisez pour définir le feu et l'événement? Ce que vous voulez faire est possible, mais vous avez besoin de poser quelques bases pour nous. Voir ce thread pour un exemple qui n'est pas adapté à votre situation spécifique.
  • J'ai ajouté un code pour être plus clair
  • Est pressure toujours 2.5, ou d'où cela vient? Paramètre(s) représente(nt) la quantité de temps qui s'est écoulé? Avez-vous besoin de le temps écoulé en millisecondes?
  • C'est exactement ce que j'ai mis pour montrer ce que je faisais. Dans mon programme, Il sera une moyenne pondérée des intervalles de temps qui s'est écoulé dans certains échelle. La pression est en fait, dans mon programme, un membre privé de la classe déclarée double. Le temps écoulé, je pensais de l'aide de certaines propriétés de l'objet Timer qui je n'ai pas encore fait des recherches entièrement, mais en attendant, 70 que j'ai passé à Pressure_Effect, je pense que ce serait bien parce que cela va représenter 70 secondes d'intervalle. J'ai encore besoin de trouver la meilleure façon de l'obtenir.
  • Quelles sont les unités de temps vous avez besoin de la minuterie? L'événement qui déclenche fournit un SignalTime propriété qui est un DateTime struct et contient la date exacte de l'événement déclenché. Un travail supplémentaire peuvent avoir besoin d'aller en chercher comment beaucoup de temps s'est écoulé, si vous êtes à partir de 0, par exemple.
  • Ok, donc vous avez besoin de secondes. t sera un certain nombre de secondes, pressure est une constante ou d'une autre valeur d'une variable privée dans votre classe, et vous voulez faire un peu de type de travail, tous les 70 millisecondes, est-ce correct?
  • J'ai besoin de quelque chose en millisecondes. Cependant, Puisque l'événement est déclenché toutes les 70 millisecondes, je peux encore utiliser 70 millisecondes codée en dur. Pas un bon choix, mais peut continuer jusqu'à ce que je devenir plus compétent avec la langue.
  • Oui, c'est vrai.
  • Dernières questions, je pense: quel est le mécanisme de l'appel de Time_Handle? Avez-vous besoin de la minuterie pour démarrer/arrêter basé sur quelque chose d'extérieur qui se passe?
  • J'écris ceci pour un de mes ami jeu (Logique de la Mécanique des Fluides). La chose est, je voudrais commencer l'Time_Handle lorsque je reçois un signal à partir d'un bouton et souhaite arrêter quand quelqu'un relâche le bouton. Mais je pense que cela ne doit pas être ma préoccupation. J'ai peut-être mal.