Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah atau Parameter C# pada Runtime?

Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah atau Parameter C# pada Runtime?

Linda Hamilton
Lepaskan: 2025-01-27 03:51:12
asal
356 orang telah melayarinya

How Can I Get the Name of a C# Variable or Parameter at Runtime?

Dapatkan pembolehubah dan nama parameter dalam C#

Pernyataan Masalah:

Tentukan nama pembolehubah atau parameter yang dihantar ke fungsi. Contohnya, diberikan kod berikut:

<code class="language-csharp">var myInput = "input";
var nameOfVar = GETNAME(myInput); // ==> nameOfVar 应该等于 "myInput"

void testName([Type?] myInput)
{
   var nameOfParam = GETNAME(myInput); // ==> nameOfParam 应该等于 "myInput"
}</code>
Salin selepas log masuk

Bagaimanakah kita boleh mendapatkan nama "myInput" dalam kedua-dua kes?

Penyelesaian:

Penyelesaian Pra-C# 6.0:

Menggunakan kelas MemberInfoGetting anda boleh mendapatkan semula nama mana-mana ahli yang disediakan. Begini cara melakukannya:

<code class="language-csharp">public static class MemberInfoGetting
{
    public static string GetMemberName<T>(Expression<Func<T>> memberExpression)
    {
        MemberExpression expressionBody = (MemberExpression)memberExpression.Body;
        return expressionBody.Member.Name;
    }
}

// 获取变量名称:
string testVariable = "value";
string nameOfTestVariable = MemberInfoGetting.GetMemberName(() => testVariable);

// 获取参数名称:
public class TestClass
{
    public void TestMethod(string param1, string param2)
    {
        string nameOfParam1 = MemberInfoGetting.GetMemberName(() => param1);
    }
}</code>
Salin selepas log masuk

Pelan versi C# 6.0 dan lebih tinggi:

Nama pengendali yang diperkenalkan dalam C# 6.0 memudahkan proses mendapatkan semula nama parameter, pembolehubah dan sifat. Begini cara melakukannya:

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = nameof(testVariable);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah atau Parameter C# pada Runtime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan