Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
compcode [2007/06/12 15:34] lavirotte créée |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <code csharp> | + | |
- | 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 --- | + | |
- | } | + | |
- | } | + | |
- | </code> | + |