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

C# Xamarin技术问询:如何在void方法中调用另一个void方法

嗨,作为刚入门C# Xamarin的学习者,这个问题其实超级好解决,调用void方法在C#里是非常基础的操作,我给你一步步讲清楚:

核心逻辑

在C#中,调用一个void方法的核心就是:在需要执行该方法的位置,直接写上方法名称并加上括号(),前提是你有调用这个方法的权限(比如方法的访问修饰符是public、private(同一类内)等)。

常见场景示例

结合你的代码,我分两种最常见的情况给你演示:

1. 调用同一个类中的void方法

假设你的类里还有另一个void方法(比如用来更新UI的逻辑):

private void UpdateFragmentStatus()
{
    // 这里写你要执行的逻辑,比如更新提示文本
    var statusText = FindViewById<TextView>(Resource.Id.statusTextView);
    statusText.Text = "编辑日期Fragment已显示";
}

那你可以直接在DisplayEditDateFragment()方法里的合适位置调用它,比如在提交Fragment事务之后:

public void DisplayEditDateFragment() 
{ 
    var fragmentContainer = FindViewById<FrameLayout>(Resource.Id.fragmentContainer); 
    _fragment = new ProductInfoAdapter(); 
    var fragmentManager = FragmentManager.BeginTransaction(); 
    fragmentManager.Add(Resource.Id.fragmentContainer, _fragment); 
    fragmentManager.Commit(); 
    // 直接调用同一类中的另一个void方法
    UpdateFragmentStatus();
    fragmentContainer.Visibility = ViewStates.Visible; // 补全你未写完的可见性设置
}

2. 调用其他类中的void方法

如果要调用的方法在另一个类里,分两种情况处理:

  • 静态方法:直接通过类名调用,不需要实例化对象:
    // 假设OtherUtils类里有一个静态void方法
    OtherUtils.LogOperation("Fragment已添加");
    
  • 实例方法:需要先创建该类的实例,再调用方法:
    // 假设FragmentHelper类里有一个public的实例void方法
    var helper = new FragmentHelper();
    helper.SetupFragmentEvents(_fragment);
    
注意事项
  • 确保方法的访问修饰符允许你调用:比如其他类的private方法你是无法访问的,得用public、internal或者protected(继承场景下)。
  • 如果目标方法需要参数,记得在括号里传入对应类型的参数,比如void ShowMessage(string content),调用时要写ShowMessage("操作成功");。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:09:04