Tag: automatic properties

如何在ASP.NET中设置自动实现属性的默认值

我开始知道C#3.0带有Auto-Implemented Properties的新function,我很喜欢它,因为我们不必在此声明额外的私有变量(与之前的属性相比),之前我使用的是属性,即 private bool isPopup = true; public bool IsPopup { get { return isPopup; } set { isPopup = value; } } 现在我已将其转换为Auto-Implemented属性即 public bool IsPopup { get; set; } 我想将此属性的默认值设置为true而不使用它甚至在page_init方法中,我尝试但没有成功,任何人都可以解释如何做到这一点?

使用Roslyn将自动实现的属性添加到类

我试图通过从头开始构建现有但简单的应用程序来学习Roslyn,这似乎是一种有效的方法来学习它。 无论如何,我有以下代码: var root = (CompilationUnitSyntax)document.GetSyntaxRoot(); // Add the namespace var namespaceAnnotation = new SyntaxAnnotation(); root = root.WithMembers( Syntax.NamespaceDeclaration( Syntax.ParseName(“ACO”)) .NormalizeWhitespace() .WithAdditionalAnnotations(namespaceAnnotation)); document = document.UpdateSyntaxRoot(root); // Add a class to the newly created namespace, and update the document var namespaceNode = (NamespaceDeclarationSyntax)root .GetAnnotatedNodesAndTokens(namespaceAnnotation) .Single() .AsNode(); var classAnnotation = new SyntaxAnnotation(); var baseTypeName = Syntax.ParseTypeName(“System.Windows.Forms.Form”); SyntaxTokenList […]

有或没有支持字段的自动属性 ​​- 首选项?

我知道在使用自动属性时,编译器会在屏幕后面创建自己的支持字段。 但是,在我读过的许多程序中,我看到人们明确地写了 private int _backingField; public int Property { get { return _backingField; } } 上面和下面有什么区别? public int Property { get; private set; } 我明白当你在getter或setter中实际存在副作用时使用该属性是显而易见的,但通常情况并非如此。 此外,我知道您必须在结构的情况下明确使用支持字段,您不能通过属性访问其成员。 我能找到的唯一区别是调用值的方式在它定义的类中是不同的。它是简单的首选项,还是通过其属性调用值或通过直接访问领域? 简单约定?

DefaultValue属性不适用于我的自动属性

我有以下自动属性 [DefaultValue(true)] public bool RetrieveAllInfo { get; set; } 当我尝试在代码中使用它时我发现默认的false为false我认为这是bool变量的默认值,有没有人知道什么是错的!?

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

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