我有一个接口服务,它有一个方法GoTo
public interface Service
{
bool GoTo(string NextPage , object parameter);
}
我有一个A类,如下所示
public class A
{
private Service serviceA;
//constructor of the class
public A(Service serviceB, ServiceManager serviceManager)
{
this.serviceA = serviceB;
}
public ObservableCollection<SampleObject> Example { get; } = new
ObservableCollection<SampleObject>()
{
new SampleObject() { Action= new DelegateCommand(() => this.serviceA.GoTo("NextPage", null))
},
};
}
我得到一个错误,说关键字“this”在当前上下文中不可用。我看过一个字段初始值设定项不能引用非静态字段、方法或属性,我可以看到错误是由于变量没有在构造函数中初始化,但在我的情况下,我这样做了。如果能帮助理解这一点,我将不胜感激?
您可以通过声明一个变量(例如< code>this)来保存< code > this 的值来解决这个问题。例如:
var that = this;
然后将其替换为现有
代码中的代码
:
that.serviceA.GoTo("NextPage", null)
您需要将<code>示例varcode。
(这是JavaScript中的一种常见技术,不是因为< code>this永远“不可用”,而是因为< code>this的上下文并不是您希望它出现在您想要使用它的地方。但是在C#中偶尔也会派上用场。)
this
在这个代码中new SampleObject(){Action=new委托命令(()=
不是您问题的确切答案,但将camelCase用于私有字段是一种非常糟糕的做法,即使它符合C#标准约定。.Net 社区中广泛使用的约定是使用前导下划线命名私有字段。例如:
私人服务_serviceA;
这种约定有助于避免这种情况的变量命名冲突,并减少使用全局变量与局部变量时的人为错误。
您在属性初始值设定项中使用了< code>this。你不能这样。您所要做的就是将< code>Example的初始化从声明点移到构造函数体中:
public class A
{
private Service serviceA;
public ObservableCollection<SampleObject> Example { get; }
public A(Service serviceB, ServiceManager serviceManager)
{
this.serviceA = serviceB;
Example = new ObservableCollection<SampleObject>
{
new SampleObject
{
Action = new DelegateCommand(() => this.serviceA.GoTo("NextPage", null))
}
};
}
}
在 C# 中,可以使用 this 关键字来表示当前对象,日常开发中我们可以使用 this 关键字来访问类中的成员属性以及函数。不仅如此 this 关键字还有一些其它的用法,下面就通过一些示例来分别演示一下。 1) 使用 this 表示当前类的对象 运行结果如下: 小牛知识库 https://www.xnip.cn/ 2) 使用 this 关键字串联构造函数 运行结果如下: 无参构造函数 小牛知识库
涵义 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 前一章已经提到,this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在
问题内容: 当ai遇到关键字时,我正在研究Java中的方法重写。在Internet和其他来源上进行了大量搜索之后,我得出结论,当实例变量的名称与构造函数的参数相同时,将使用关键字。我是对还是错? 问题答案: 是实例中当前实例的别名或名称。它对于消除实例变量与局部变量(包括参数)的区别很有用,但它本身可以用来简单地引用成员变量和方法,调用其他构造函数重载或简单地引用 实例 。适用用途的一些示例(并非
问题内容: 我试图了解java关键字的this实际作用。我一直在阅读Sun的文档,但对于this实际操作仍然不甚了解。 java 关键字 问题答案: 关键字是对当前对象的引用。 另一种思考方式是关键字就像你用来引用自己的人称代词。对于相同的概念,其他语言使用不同的词。VB使用Me和Python约定(因为Python不使用关键字,只是每个方法的隐式参数)将被使用。 如果要引用本质上属于你的对象,你将
本文向大家介绍C# this关键字的四种用法,包括了C# this关键字的四种用法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C# this关键字的四种用法,供大家参考,具体内容如下 用法一 this代表当前实例,用this.显式调用一个类的方法和成员 用法二 通过this实现原始类型的扩展(下一篇详解) 用法三 通过this实现索引器,可用于优化程序性能(下一篇详解) 用