在C#中使用CallByName

本文演示了如何在C#中使用CallByName方法来调用类中的属性、方法和过程,通过实例展示了如何获取和设置私有字符串属性,调用乘法函数以及执行变量更新的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先添加参考Microsoft.VisualBasic

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();
        }
    }
}
-------------------------------------------------- ------------------

Başak&GökhanTarhan

软件开发专家

From: https://bytes.com/topic/net/insights/741354-use-callbyname-c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值