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
相关产品推荐
相关产品推荐

