IRONSOFTWAREHOME
开发者更新

C# Getter Setter(开发者如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

getter和setter是面向对象编程语言(如C#)中的基本概念。 这两种方法允许我们控制类属性的访问和修改。 在本教程中,我们将通过代码块探讨C# getter和私有setter的初学者和中级方面。

Getter和Setter简介

什么是Getter和Setter?

从本质上讲,getter和setter只是方法,使您可以访问类中的私有变量。 getter返回私有字段变量的值,而setter修改它。 这些方法确保类的内部数据(字段)被安全和正确地访问或修改。

为什么需要它们?

想象一下拥有一个private string description属性。 如果有人想从这个类外部知道描述,他们无法直接访问它,因为它是私有的。 这就是getter和setter的作用。

一个getter允许用户检索private string description的值,而不允许他们直接修改它。 另一方面,setter让用户在我们设定的条件下修改描述。

访问修饰符

访问修饰符定义了字段或属性在类外部的可见性和可访问性级别。 最常用的修饰符是private。

  • Public: 声明为public的字段或属性可以从程序中的任何地方访问。 例如,您可能有一个public int Age属性,可以被代码的任何部分访问和修改。
  • Private: 声明为private int age。 这种封装有助于防止未经授权的修改,确保类的内部状态正确维护。

简单的Getter和Setter

让我们从一个简单的例子开始。

using System;

public class Person
{
    private string name;  // This is a private string name property variable
    
    // This is the getter
    public string GetName()
    {
        return name;
    }

    // This is the setter
    public void SetName(string newName)
    {
        name = newName;
    }
}

class Program
{
    static void Main()
    {
        Person person = new Person();
        person.SetName("John");
        Console.WriteLine(person.GetName());
    }
}

在上述name属性既有getter (GetName) 又有setter (SetName)。 当您运行static void Main方法时,它会打印"John",因为我们使用setter设置了该名称的值。

自动实现的属性

现在,您可能会想,"我是否总是需要为getter和setter编写单独的方法?"答案是"否"。C#引入了一种叫做"自动实现属性"或"自动属性"的概念来简化这个过程。

在C#中,您可以使用自动属性,为声明private field及其相关属性提供简化的方式。 下面是一个例子:

using System;

public class Student
{
    public string Name { get; set; } // This is an auto-implemented or automatic property
    public string Title { get; set; } // Another auto-implemented property
}

class Program
{
    static void Main()
    {
        Student student = new Student();
        student.Name = "Alice";  // Using setter
        Console.WriteLine(student.Name);  // Using getter
    }
}

在Name属性既是getter又是setter,且是自动实现的。 C#编译器在幕后创建一个private string name字段,并通过Name属性提供对该字段的访问。

属性中的高级访问修饰符

只读属性

有时,您可能希望提供一个可以读取但不能外部修改的属性。 这时候只读属性就派上用场了。 您可以在属性中省略setter,使其成为只读。

假设我们想给string Description属性:

public class Person
{
    public string Name { get; set; }
    public string Description { get; }
    
    public Person(string name, string description)
    {
        Name = name;
        Description = description;
    }
}

在此示例中,Person类的构造函数内设置。 一旦设置,它就不能在外部修改。

私有设置器

有时,您可能希望允许该属性从类外部读取,但只能从类的内部设置。 这是通过使用private set实现的。

using System;

public class Program
{
    public string Description { get; private set; }

    public Program()
    {
        Description = "This is a program about getters and setters.";
    }
}

class ProgramTest
{
    static void Main()
    {
        Program myProgram = new Program();
        Console.WriteLine(myProgram.Description);  // Allowed
        // myProgram.Description = "New Description";  // Not allowed
    }
}

在private set,这意味着它不能从类外部更改,从而确保数据的完整性。

继承和重写

在使用派生类时,您可以重写getter和setter方法以自定义其行为。 这允许您在获取或设置值时添加额外的逻辑。

public class Person
{
    public virtual string Name { get; set; }
}

public class Student : Person
{
    private string studentID;

    public override string Name
    {
        get { return base.Name; }
        set
        {
            if (!string.IsNullOrEmpty(value))
                base.Name = value;
        }
    }
}

在此示例中,Name属性的setter。 它在设置名称之前添加了验证检查,确保其不为空或null。

引入Iron Suite以增强您的C#开发

Iron Suite是一组研究工具,可显著提升C#开发能力。 它包括IronPDF、IronXL、IronOCR和IronBarcode。 这些工具中的每一个都具有独特的功能,可以集成到C#的各个方面。

IronPDF - 强大的PDF管理工具

了解更多关于IronPDF,这是一个允许开发者在C#中创建、读取和编辑PDF文档的库。 无论是将HTML转换为PDF还是通过getter和setter管理PDF元数据,IronPDF都有涵盖。

IronPDF在HTML到PDF转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的PDF文档。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronXL - 轻松进行Excel操作

在处理Excel文件时,IronXL Excel Library简化了读取和写入过程。 此工具可用于操作Excel文件中的私有和公共字符串或整数,就像您在类中使用相同的语法在C#中使用getter和setter处理数据一样。

IronOCR - Optical Character Recognition in C#

探索IronOCR,这是一个光学字符识别库,可将图像转换为可搜索文本。 如果您的应用程序涉及读取扫描文档中的文本,那么IronOCR的强大功能可以方便地集成。 它可以处理私有字段和公共字符串描述,就像您在class Person或class Student中从之前的示例设置所预期的那样。

IronBarcode - 条形码读取和写入库

发现IronBarcode的功能,适用于需要条形码读取和写入的应用程序。 它允许直接访问条形码数据,并通过自动属性进行自定义,就像在C#编程中使用的getter和setter一样。

Iron Suite与Getter和Setter

Iron Suite包无缝集成到C#开发中,包括getter和setter。 这些工具为任何C#项目增值。

结论

总结:

  1. Getter and Setter: 它们有助于访问和修改类的私有字段。
  2. Auto Properties: 通过自动实现的属性优雅地实现自动getter和setter。
  3. Access Modifiers: 它们帮助微调属性的可访问性。

到现在,您应该已经对如何在C#中使用getter和setter有一个扎实的掌握。

Iron Suite的一系列工具为C#开发者提供了惊人的功能。 这些产品中的每一个,包括IronPDF、IronXL、IronOCR和IronBarcode,都附带一个Iron Software工具的免费试用版,允许您在没有任何初始投资的前提下探索和集成这些强大的库到您的项目中。

当您准备提交时,单个许可证从$999起提供。 如果您发现多个工具符合您的需求,您可以利用这个机会以两个单独许可证的价格购买完整的Iron Suite包。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起