/*
* 游戏开发(Unity&C#)总结34 - Func委托作为方法参数
* 委托作为方法的参数,解释可以使程序更具有解耦性
*
*
*
* **/
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Demo : MonoBehaviour
{
void Start()
{
print("TraditionMethod() = "+ TraditionMethod());
//funcDelegate += DelegateSubMehod;
print("DelegateMehod(DelegateSubMehod) = " + DelegateMehod(DelegateSubMehod));
}
public int TraditionMethod()
{
return TraditionSubMethod("123");
}
/// <summary>
/// 假设这个方法名字修改,调用它的其他地方也需要修改。
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public int TraditionSubMethod(string str)
{
int intData = 0;
int.TryParse(str, out intData);
return intData;
}
public int DelegateMehod(Func<string, int> funcDelegate)
{
return funcDelegate("456");
}
/// <summary>
/// 假设这个方法名字修改,调用它的其他地方不需要修改。所以更具有解耦性
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public int DelegateSubMehod(string str)
{
int intData = 0;
int.TryParse(str, out intData);
//200
return intData;
}
}
demo下载
https://gitlab.com/demofile1/uploadfile/-/tree/main
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。