How To Use CallByName in C#

Discussion in 'Programming' started by largn81, Jan 26, 2008.

  1. #1
    First add to referance Microsoft.VisualBasic


    Code: ( vb )

    :);)

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.VisualBasic;
    using Microsoft.VisualBasic.CompilerServices;

    namespace CallByNameConsole
    {
    class _TEST
    {
    private string _STR = "Called By The Name";

    public string _TESTSTR {
    get {
    return _STR;
    }
    set {
    _STR = value;
    }
    }
    public string _FUNCTION(int _X, int _Y) {
    return (_X * _Y).ToString();
    }
    public void _PROCEDURE(int _X, int _Y) {
    _Y *= _X;
    }

    }
    class Program
    {
    static void Main(string[] args)
    {
    Console.Clear();

    _TEST _TESTER = new _TEST();

    string _STRING;

    _STRING = Versioned.CallByName(_TESTER, "_TESTSTR", CallType.Get).ToString();

    Console.WriteLine("Get _TESTSTR in _TEST : {0}",_STRING);

    Versioned.CallByName(_TESTER, "_TESTSTR", CallType.Set, "Changed By The CallByName");

    _STRING = Versioned.CallByName(_TESTER, "_TESTSTR", CallType.Get).ToString();

    Console.WriteLine("Set _TESTSTR in _TEST : {0}",_STRING);

    _STRING = (String)Versioned.CallByName(_TESTER, "_FUNCTION",CallType.Method, 2, 3);

    Console.WriteLine("Use _FUNCTION function in _TEST : {0}*{1}={2}",2,3,_STRING);

    int _A = 3, _B = 3;

    Versioned.CallByName(_TESTER, "_PROCEDURE", CallType.Method, _A, _B);

    Console.WriteLine("Use _PROCEDURE sub in _TEST {1}={0}*{1}",3,3,_A.ToString());

    Console.ReadLine();
    }
    }
    }

    :)
     
    largn81, Jan 26, 2008 IP