compcode

This is an old revision of the document!


Sample of a Bean

Here is the sample code of a component in c# (save this to a le called Sample_Component.cs) :

using WComp.Beans; // It contains the definition of the attribute [Bean]
using System.Threading; // For the thread demo purposes
 
namespace Your_Namespace_Name {
 
    [Bean]
    public class Your_CSharpBean_Name {
 
        public Your_CSharpBean_Name() {
            // Put here your init instructions
            // Example of a loop that call the output
            // every second.
            new Thread(new ThreadStart(ThreadLoopMethod)).Start();
        }
 
         // Loop sample
         public void ThreadLoopMethod() {
             while(Thread.CurrentThread.IsAlive) {
                 Thread.Sleep(1000);
                 double result;
                 // Check if the output is connected
                 if(Output_Sample != null)
                     // call the connected methods sequentially
                     result = Output_Sample(123);
                // and so on...
             }
        }
 
        // --- Start: Input port sample ---
        // an input port is a method (below)
        public int Input_Sample(string param_name) {
            string pn = param_name; // You may use the parameters
            return 0; // You may return anything
        }
        // --- End: Input port sample ---
 
        // --- Start: Output port sample ---
        public delegate double Output_Sample_Signature(int param_name);
        // This is the signature of the output method
        public event Output_Sample_Signature Output_Sample;
        // The output port is the event (before)
        // --- End: Output port sample ---
    }
}

Wcomp distrib. Here is a sample of the command line compilation :

csc.exe /target:library /r:Bean.dll Sample_Component.cs
  • compcode.1181713135.txt.gz
  • Last modified: 2007/06/13 07:38
  • by lavirotte