c# - 类方法中的“this”是指被调用的还是默认的实例?
问题描述
在 VBA 中,如果我要修改它们的属性值,我会不断地将类实例作为参数传递给它们自己的方法。举一个极其简化的 C# 示例:
class WhateverClass
{
public void DoSomething(WhateverClass whateverClass)
{
whateverClass.WhateverProperty = "Hello"
}
}
this
在 C# 中,我可以避免像这样通过 using 将调用的类实例作为参数传递吗?还是会this
引用默认的类实例?
class WhateverClass
{
public void DoSomething()
{
this.WhateverProperty = "Hello"
}
}
解决方案
this
指被调用的类实例。
我制作了以下测试应用程序来检查:
class Program
{
static void Main()
{
var class1 = new Class1();
class1.Setup();
Console.Write(class1.Property1);
Console.ReadKey();
}
}
class Class1
{
public string Property1 { get; set;}
public Class1 ()
{
this.Property1 = "Overwrite me";
}
public void Setup()
{
this.Property1 = "Successfully overwritten";
}
}
这个的输出是“成功覆盖”
推荐阅读
- javascript - 向下滚动页面时如何更改标题的颜色?
- behat - Behat 确保选择字段具有这些选项
- cuba-platform - 如何在 cuba 平台实现三点菜单?
- azure - 当我们在天蓝色批处理帐户上创建池时,您如何设置用户身份?
- typescript - 如何使用 TypeScript 中的非可选键子集定义映射类型?
- python - 按值数据框python拆分
- python - Python没有完全解压snappy parquet
- r - 数据帧值之间的差异
- vue.js - 如何根据 vuetify 中的条件使用 v-simple-table 计算列中的数据总数?
- apache-kafka - flink并行和kafka分区在生产数据上有什么关系?