草庐IT

ref_this

全部标签

c# - PropertyChanged 事件测试 : is this a good way?

我正在使用MVVM模式开发WPF应用程序。我的ViewModel代码如下:publicboolEditModeEnabled{get{return_EditModeEnabled;}set{_ModeEditModeEnabled=value;OnPropertyChanged("EditModeEnabled");OnPropertyChanged("CommentTextBoxVisibility");}}OnPropertyChanged是基类的虚方法,它只是引发PropertyChanged事件。我想测试PropertyChanged事件引发和我的测试方法:publicvoid

c# - 通过 ref : cannot convert from 'Foo' to 'ref IFoo' 传递实现

这个问题在这里已经有了答案:Whydoesn't'ref'and'out'supportpolymorphism?(10个答案)关闭3年前。有人可以向我解释为什么这在C#中是不正确的吗:namespaceNamespaceA{publicclassClassA{publicinterfaceIInterfaceA{StringProperty{set;}}}}namespaceNamespaceB{publicclassClassB{publicclassImpA:NamespaceA.ClassA.IInterfaceA{privateStringmProperty;publicSt

引用类型的 C# 7 ref 返回

我正在浏览一些使用C#7的新功能并使用reflocals&returns功能的代码。对于value-types来说,ref局部变量获取引用(对实际存储)并更新原始项的值似乎非常简单。一点解释将有助于理解在reference-types的reflocals情况下内存引用是如何工作的。我指的是下面代码的最后一行://AsimpleclasspublicclassCoolClass{publicstringName{get;set;}publicintId{get;set;}publicCoolClass(stringname,intid)=>(Name,Id)=(name,id);}//D

c# - 我可以在 c# .NET 中强制使用 'this' 关键字吗?

有没有办法在引用当前实例成员时在VisualStudio中强制使用this关键字?构造函数中存在错误的示例:classMyClass{publicobjectFoo{get;set;}publicMyClass(objectfoo){Foo=Foo;//thisshouldofcoursebelowercasebutit'seasytomiss}}此代码稍后可能会在某处生成臭名昭著的“对象引用未设置为对象的实例”异常。如何让它工作但仍然很容易错过:classMyClass{publicobjectFoo{get;set;}publicMyClass(objectfoo){Foo=foo

c# - : this() As a constructor

我正在尝试更好地理解一般实践...特别是在构造函数中派生this()。我知道它的代码较少,但我认为它的可读性较差。这样做是常见的/好的做法吗?还是编写第二个专门处理它的构造函数更好?publicSomeOtherStuff(stringrabble):this(rabble,"bloop"){}或PublicSomeOtherStuff(stringrabble){//setbloop}任何输入将不胜感激 最佳答案 最好尽可能使用this()。否则你将复制一些代码,这违反了DRY(不要重复自己)原则。重复自己的问题在于,每次您需要进

c# - 委托(delegate)给实例方法不能有 null 'this'

我正在开发一个C#.NET2.0应用程序,其中在运行时根据环境加载两个DLL之一。两个DLL包含相同的函数,但它们没有链接到相同的地址偏移量。我的问题是关于我的应用程序代码中的函数委托(delegate)。publicclassMyClass{publicdelegateintMyFunctionDelegate(int_some,string_args);publicMyFunctionDelegateMyFuncToCallFrmApp;publicMyClass():base(){this.MyFuncToCallFrmApp=newMyFunctionDelegate(this

c# - 为什么我会收到 "The modifier ' virtual'is not valid for this item“错误?

我正在尝试使用以下模型创建mvc应用程序:(代码很大。我认为它对您来说更容易理解)publicclassJob{publicintJobId{get;set;}publicstringName{get;set;}publicListGetJobs(){ListjobsList=newList();jobsList.Add(newJob{JobId=1,Name="Operator"});jobsList.Add(newJob{JobId=2,Name="Performer"});jobsList.Add(newJob{JobId=3,Name="Head"});returnjobsLi

c# - 在 C# 构造函数中使用 this()

我一直在试图找出这些构造函数之间是否存在任何差异。假设有一个不带参数的Foo()构造函数,所有这些构造函数都会有相同的结果吗?例子1publicFoo():this(){blah;blah;blah;}例子2publicFoo(){this();blah;blah;blah;}示例3publicFoo(){this=newFoo();blah;blah;blah;} 最佳答案 示例1是有效的(假设有一个无参数构造函数),并且调用无参数构造函数作为初始化的一部分。看我的articleonconstructorchaining更多细节。

c# - 在 C# 中使用或不使用 'this' 限定符

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whendoyouusethe“this”keyword?我刚刚开始使用Resharper来分析我的代码,它建议我做很多事情,我对它的输出非常满意,因为它还教会了我一些更好的做事方法。显然可以忽略它的建议,其中之一我只想从社区获得一些反馈!我一直倾向于对属于当前类的属性(即this.Name)使用“this”限定符。没有真正的原因-我似乎只是在很久以前就采用了这种方式。Resharper建议这是多余的,也许我应该删除它。你怎么看?

c# - 它可以返回null吗? (this.Result ==Result.OK)

这段代码可以返回null吗?(this.Result==Result.OK)此行(或类似行)是否可以返回除true或false之外的任何内容(例如null)? 最佳答案 (this.Result==Result.OK)好的;让我们一block一block地看:this.(anything)如果this为null-它永远不应该,那可能会失败,但是theoreticallycanbeifyouareevil-所以我们可能会因NullReferenceException而失败。this.Result如果这是一个属性访问器(get),那么它