Skip to content

ErcanOPAK.com

  • ASP.Net WebForms
  • ASP.Net MVC
  • C#
  • SQL
  • MySQL
  • PHP
  • Devexpress
  • Reportviewer
  • About
C#

What is the purpose of nameof in C#?

- 03.01.23 - ErcanOPAK

The purpose of nameof is refactoring. For example, when you change the name of a class to which you refer through nameof somewhere else in your code you will get a compilation error which is what you want. If you didn’t use nameof and had just a plain string as a reference you’d have to full-text search for the name of the class in order to change it. That’s a pain in the bottom. With nameof you can rest easy, build, and get all the cases for change automatically in your IDE.

For example:

public void DoStuff(object input)
{
    if (input == null)
    {
        throw new ArgumentNullException(nameof(input));
    }
}

If you change the name of the variable, the code will break instead of returning an exception with an incorrect message.

Of course, the uses are not limited to this simple situation. You can use nameof whenever it would be useful to code the name of a variable or property.

The uses are manifold when you consider various binding and reflection situations. It’s an excellent way to bring what were run time errors to compile time.

Related posts:

How to trim whitespaces between characters in C#
How to calculate the sum of the datatable column in asp.net?
Passing parameters to JavaScript files
The Null Conditional Operator in C# (?.)
Post Views: 6

Post navigation

What is the difference between Select and SelectMany in Linq
What is the difference between HashSet and List in .net?

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

January 2023
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
« Dec    

Most Viewed Posts

  • Get the First and Last Word from a String or Sentence in SQL (512)
  • Add Constraint to SQL Table to ensure email contains @ (288)
  • Get the User Name and Domain Name from an Email Address in SQL (274)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (263)
  • Find numbers with more than two decimal places in SQL (246)
  • ASPxGridView – Disable CheckBox based on condition in GridViewCommandColumn (230)
  • Confirm before process with ASPxButton in Devexpress (229)
  • How to solve “Response.Redirect cannot be called in a Page callback” for DevExpress Components (221)
  • How to make some specific word(s) Bold or Underline in ReportViewer (205)
  • Devexpress ASPxGridview Column Grouping in Code (205)

Recent Posts

  • What is the difference between ‘ref’ and ‘out’ keywords in C#
  • How to check if javascript is enabled on the client’s browser
  • How to disable ASP.Net button after click to prevent double clicking
  • What is the difference between HashSet and List in .net?
  • What is the purpose of nameof in C#?
  • What is the difference between Select and SelectMany in Linq
  • Differences between FirstOrDefault and SingleOrDefault in LINQ
  • How to reset identity seed after deleting records in SQL
  • The Ternary Operator in C# (?:)
  • The Null Conditional Operator in C# (?.)

Most Viewed Posts

  • Get the First and Last Word from a String or Sentence in SQL (512)
  • Add Constraint to SQL Table to ensure email contains @ (288)
  • Get the User Name and Domain Name from an Email Address in SQL (274)
  • How to use Map Mode for Vertical Scroll Mode in Visual Studio (263)
  • Find numbers with more than two decimal places in SQL (246)

Recent Posts

  • What is the difference between ‘ref’ and ‘out’ keywords in C#
  • How to check if javascript is enabled on the client’s browser
  • How to disable ASP.Net button after click to prevent double clicking
  • What is the difference between HashSet and List in .net?
  • What is the purpose of nameof in C#?

Social

  • ErcanOPAK.com
  • GoodReads
  • LetterBoxD
  • Linkedin
  • The Blog
  • Twitter

© 2023 ErcanOPAK.com

Proudly powered by WordPress | Theme: Xblog Plus by wpthemespace.com