You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中被调用方法、调用方法定义及调用方类实例语法位置咨询

问题1:被调用方法(called method)和调用方法(calling method)分别指什么?
  • 调用方法(calling method):主动发起方法调用的方法,是触发调用的主体。
  • 被调用方法(called method):被调用方法发起调用的目标方法,是接收调用并执行逻辑的方法。

简单来说:如果方法A里写了MethodB();,那A就是调用方法,B就是被调用方法。

问题2:调用方法里的类实例在语法中的位置?

调用方法中的类实例,是你在调用方法的作用域内创建(或已存在)的引用类型变量,它存储的是堆上对象的内存地址。当你把这个变量作为参数传给被调用方法时,被调用方法的参数会得到这个地址的副本,两者指向同一个堆对象。

完整示例代码

using System;

// 定义一个引用类型的类
public class Book
{
    public string Title { get; set; }
}

class Demo
{
    // 调用方法:Main方法发起调用
    static void Main()
    {
        // 这里的myBook就是调用方法中的类实例,位于Main方法的局部作用域内
        Book myBook = new Book { Title = "C#入门" };
        
        Console.WriteLine("调用方法修改前的书名:" + myBook.Title);
        
        // 将myBook作为参数传递给被调用方法
        UpdateBookTitle(myBook);
        
        Console.WriteLine("调用方法修改后的书名:" + myBook.Title);
    }

    // 被调用方法:被Main调用的方法
    static void UpdateBookTitle(Book bookParam)
    {
        // bookParam是被调用方法的参数,存储了myBook地址的副本,指向同一个Book对象
        bookParam.Title = "C#进阶";
    }
}

示例说明

在调用方法Main中,Book myBook = new Book { Title = "C#入门" };这行代码定义的myBook变量,就是文档里说的「调用方法中的类实例」。它在调用方法的局部代码块里,作为参数传递给UpdateBookTitle后,被调用方法的bookParam参数拿到的是myBook的地址副本,所以修改bookParam.Title会直接改变原myBook指向的对象内容,最终输出结果为:

调用方法修改前的书名:C#入门
调用方法修改后的书名:C#进阶

内容的提问来源于stack exchange,提问作者nishko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 22:10:15