问题标签 [automatic-properties]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
268 浏览

c# - 如何在结构的构造函数中设置自动属性?

为什么这是有效的

这不是

0 投票
1 回答
379 浏览

c# - 一个接口如何描述具有不同访问级别的自动实现的属性?

这个类属性是我试图重构为接口的。

Visual Studio 2008重构工具提取如下界面

C# 编译器报错:

(这是我遇到的少数几种情况之一,Visual Studio 生成的代码会导致不正确的编译情况。)

有没有直接的解决方案可以将这个属性提取到接口中,而不需要在类上进行不同的设置和获取成员/方法?

0 投票
3 回答
20513 浏览

c# - DefaultValue 属性不适用于我的自动属性

我有以下自动属性

当我尝试在代码中使用它时,我发现默认的 false 是false我假设这是bool变量的默认值,有没有人知道出了什么问题!?

0 投票
4 回答
321 浏览

c#-3.0 - 自动属性问题

目前我正在使用 .Net 3.0 但我不知道如何使用 Automatic Properties 。

例如,如果我想通过 Authomatic Properties 编写此示例代码,我应该怎么做?

谢谢大家的回复,我知道了

0 投票
7 回答
10818 浏览

c# - C# 自动实现的静态属性是线程安全的吗?

我想知道 C# 自动实现的属性public static T Prop { get; set; }是否是线程安全的。谢谢!

0 投票
4 回答
463 浏览

c# - 始终使用 this 关键字为(自动)属性添加前缀是否被认为是一种好习惯?

自从我发现汽车属性后,我就尝试在任何地方使用它们。在我拥有的每个属性都会有一个私有成员之前,我将在类中使用它。现在它被 auto 属性所取代。我以通常使用普通成员字段的方式在类中使用该属性。问题是该属性以国会大厦开头,这使得以这种方式使用它时看起来有点奇怪。我不介意房产以前以国会大厦开头,因为它们总是在“点”后面。现在,我发现自己在内部使用的所有属性前面都加上了this.,以安抚我的感觉。

我的困境是,在我总是有点反对在所有内部成员的使用前加上前缀this.,除非“必要”(如在 setter 或构造函数中)。因此,我正在寻求对此的第二意见。有没有标准的好方法来做到这一点?我应该停止抱怨吗(我有成为“蚂蚁驼背”(荷兰语表达)的倾向)?

前:

后:

更新

似乎意见不一,尽管更多的人赞成前缀this.. 在 auto 属性之前,我一直非常反对this.在构造函数和 setter 中添加前缀 with 而不是(正如我之前提到的)。但现在我只是不知道了。

附加说明:将属性命名为与类 ( ) 相同的事实也很常见,这public Bar Bar { get; private set; }也使我倾向于使用前缀。每次我输入Bar.DoMethod(),我都觉得它看起来像一个静态方法。即使 VSBar是静态方法,它也会着色,并且您不能拥有具有相同签名的静态方法和实例方法。当它被着色时,很明显它是一个静态方法,但是当它没有着色时,它不是 100% 清楚它不是一个静态方法。例如,您可能只是缺少一个using语句,但也只是因为我不习惯将不着色与它是否是静态调用联系起来。在我通过成员的情况下的第一个字母的大写或在属性的情况下的“点”(例如“点”foo(Foo)foo.Bar.DoMethod())。

(目前很难选择“接受的答案”)

0 投票
6 回答
2452 浏览

c# - 使用自动属性实现单例是个好主意吗?

我最近发现了自动属性并且非常喜欢它们。此刻,我正试图在我可以使用的任何地方使用它们。不仅仅是能够在任何地方使用它们,而是更多地了解它们在大多数情况下的工作情况。

现在我正在制作一个单身人士并想:“嘿,让我们也在这里尝试一下自动属性”。

所以我的问题是:“实现这样的单例是个好主意吗?”

我不是在问单身人士是否是一个好主意。

0 投票
2 回答
5573 浏览

c# - 如何确定一个属性是否是具有反射的自动实现属性?

因此,就我而言,我正在使用反射来发现类的结构。我需要能够确定某个属性是否是 PropertyInfo 对象自动实现的属性。我假设反射 API 没有公开这样的功能,因为自动属性依赖于 C#,但是有任何解决方法来获取这些信息吗?

0 投票
2 回答
321 浏览

.net - 正确实现 Disposable 模式 - 自动实现的属性

实施该Dispose方法的规则之一是:

当资源已经被释放时ObjectDisposedException,在这种类型(除了)上抛出一个from 实例方法。Dispose此规则不适用于该Dispose方法,因为它应该可以多次调用而不会引发异常。

请参阅:http: //msdn.microsoft.com/en-us/library/b1yfkh5e.aspx

这是否意味着如果我想正确实现属性,就不能使用自动实现的属性?我需要像这样实现它的属性吗?

0 投票
4 回答
2576 浏览

python - Automatic transformation from getter/setter to properties

I have a big library written in C++ and someone created an interface to use it in python (2.6) in an automatic way. Now I have a lot of classes with getter and setter methods. Really: I hate them.

I want to re-implement the classes with a more pythonic interface using properties. The problem is that every class has hundreds of getters and setters and I have a lot of classes. How can I automatically create properties?

For example, if I have a class called MyClass with a GetX() and SetX(x), GetY, SetY, etc... methods, how can I automatically create a derived class MyPythonicClass with the property X (readable if there is the getter and writable if there is the setter), and so on? I would like a mechanism that lets me to choose to skip some getter/setter couples where it is better to do the work by hand.