c# Moq Ref/out 参数
public interface IService
{
void DoSomething(ref string a);
void DoSomething2(out string a);
} [TestMethod]
public void TestRefPara()
{
var service = new Mock<IService>();
service.Setup(s => s.DoSomething(ref It.Ref<string>.IsAny));
string actualValue= "value";
service.Object.DoSomething(ref actualValue);
Assert.AreEqual("value", actualValue);
} [TestMethod]
public void TestOutPara()
{
var service = new Mock<IService>();
string outPara = "abc";
string actualValue = "value";
service.Setup(s => s.DoSomething2(out outPara));
service.Object.DoSomething2(out actualValue);
Assert.AreEqual("abc", actualValue);
}
c# Moq Ref/out 参数的更多相关文章
- 含有ref out 参数 的方法反射 Emit 与 普通
反射中很多朋友应该屡屡被带有ref out参数的方法折腾 当使用正常反射一个方法时候: 代码如下调用一个后期绑定方法MakeByRefType 就行了 MemberInfo test = typeof ...
- ref - 按引用传递参数
传递的是引用 在 形参 实参前 加ref
- c#.net中参数修饰符ref,out ,params解析
params ============================================================================================= ...
- out参数,ref参数,params参数数组
params参数数组 params关键字可以为方法指定数目可变的参数.params关键字修饰的参数,可以传入任意数目的同类型参数,甚至可以不传入参数. 不过params修饰的参数必须是方法的最后一个参 ...
- ref 参数
当使用ref 作为参数赋值时,ref 得需要初始化,就是在从新定义一下 参数的值,下面有列子: 在控制台中运行如下: //定义一个方法,两个参数 i和a . public static void ge ...
- ref引用类型,数组型参数,out输出参数
ref和out的相同点和不同点 共同点:都是引用传递不同点:ref的参数在调用之前一定要赋值,在方法调用的过程中可以不要赋值. out的参数在调用之前可以不赋值,在方法调用的过程中一定要赋值. ...
- 参数修饰符ref,out ,params的区别
参数修饰符ref,out ,params的区别 C#中有三个关键字-ref,out ,params,可是这三个之间的区别你都明白了吗? 那么我们就来认识一下参数修饰符ref,out ,params吧, ...
- 工作中的趣事:聊聊ref/out和方法参数的传递机制
0x00 前言 我在之前的游戏公司工作的时候,常常是作为一只埋头实现业务逻辑的码农.在工作之中不常有同事会对关于编程的话题进行交流,而工作之余也没有专门的时间进行技术分享.所以对我而言上家虽然是一家游 ...
- C#方法中参数ref和out的解析
一.C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照. 二.C#方法中的参数 1.值参数 使用值参数,通过复制实参的值到形参的方式把数据传递 ...
- C#中的out 参数,ref参数,值参数
大家可能在编码中或多或少的使用过out的ref,但是是否注意过他两的详细用法以及区别? 本文想介绍下详细介绍下out参数,ref参数以及一般值参数. 值参数 在使用参数时,把一个值传递给函数使用的一个 ...
随机推荐
- Scala代码练习
1.编程实现百分制转换成五级制,规则如下: 90~100分,返回优秀: 80~89分,返回良好: 70~79分,返回中等: 60~69分,返回及格: 60分以下,返回不及格. object grade ...
- ABC370 E - Avoid K Partition
ABC370 E - Avoid K Partition 求一个序列的合法划分方案数.一种划分合法当且仅当没有一个子串的和是 \(k\). 由于是否存在子串和为 \(k\) 很重要,因此考虑将它加入状 ...
- 【CoCollider】让系统和应用适配如此简单
在各平台应用开发过程中,随着业务的功能增加,不免会涉及到非公开的API依赖,针对某些应用或厂商系统的适配,每个版本都需要投入精力去排查,CoCollider 可以让我们的适配效率从几个星期提升到几小时 ...
- 实时数仓及olap可视化构建(基于mysql,将maxwell改成seatunnel可以快速达成异构数据源实时同步)
1. OLAP可视化实现(需要提前整合版本) Linux121 Linux122 Linux123 jupyter spark python3+SuperSet3.0 hive ClinckHouse ...
- Webshell流量分析之菜刀Chopper&蚁剑AntSword
目录 中国菜刀 蚁剑 菜刀和蚁剑的一句话木马的流量都有一个特点,都没有加密的,使用wireshark抓包来分析. 中国菜刀 中国菜刀是一款经典的webshell管理工具,具有文件管理.数据库管理.虚拟 ...
- 项目监控之sentry
github: https://github.com/getsentry/sentry 1.什么是sentry? 当我们完成一个业务系统的上线时,总是要观察线上的运行情况,对于每一个项目,我们都没办法 ...
- Spring基于注解实现 AOP 切面功能
一.Spring AOP 注解概述 1.Spring 的 AOP 功能除了在配置文件中配置一大堆的配置,比如切入点.表达式.通知等等以外,使用注解的方式更为方便快捷,特别是 Spring boot 出 ...
- docker-compose的nginx更换完ssl证书不起作用的完美解决方法
以Harbor为例,ssl证书更新后,docker-compose启动不起作用. 问题出在一句很重要的命令:./prepare 步骤:(Harbor样例) 1. cd /data/ssl 换ssl证 ...
- C#中 CancellationTokenSource的妙用
在.NET中,CancellationTokenSource.CancellationToken和Task是处理异步操作和取消任务的重要工具.本文将通过一些简单的例子,帮助你理解它们的用法和协作方式. ...
- 【前端】【JavaScript】通过成绩判断等级
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...