Top community members
All Wiki Articles Create Wiki Article

Welcome to Dirask IT community! ÔŁĄ ­čĺ╗
We are community of people that helps each other.

If you are beginner in IT field, you are more then welcome to ask questions, it will help you to learn faster. We are here to help you.

We are always beginner in something, we just need to remember it along the way.

there are no wrong questions - Ask Question

C # / .NET - pobierz aktualn─ů nazw─Ö metody

0 contributions
3 points

W tym artykule przyjrzymy si─Ö, jak uzyska─ç aktualn─ů nazw─Ö metody┬áw C # /.NET.

Szybkie rozwi─ůzanie:

string methodName = nameof(this.SomeMethodHere);   //  C# 6 lub nowsze

// lub

MethodBase method = MethodBase.GetCurrentMethod(); //  nazwij w swojej metodzie
string methodName = method.Name;

Istniej─ů dwa sposoby, jak to zrobi─ç:

  • z wbudowanym operatorem┬ánameof - wprowadzone┬áw C # 6,
  • z Reflection API.

 1. Operator nameof przykład:

Takie podej┼Ťcie nie u┼╝ywa bezpo┼Ťrednio instrukcji, odbicia┬áprzestrzeni nazw┬ái klas.

 

Uwaga: operator nameof jest dost─Öpny w j─Özyku C # 6 i nowszych wersjach.

using System;

public static class Program
{
	private static void DoMethod()
	{
		string name = nameof(DoMethod);

		Console.WriteLine("Currently called method name is " + name);
	}

	public static void Main(string[] args)
	{
		DoMethod();
	}
}

 Wynik:

Currently called method name is DoMethod.

2. Przykład metody MethodBase.GetCurrentMethod

To rozwi─ůzanie zosta┼éo wprowadzone we wcze┼Ťniejszej wersji .NET - mo┼╝na z niego korzysta─ç bez obaw, ┼╝e nie jest obs┼éugiwane.

using System;
using System.Diagnostics;
using System.Reflection;

public static class Program
{
	private static void DoMethod()
	{
		MethodBase method = MethodBase.GetCurrentMethod();

		Console.WriteLine("Currently called method name is " + method.Name);
	}

	public static void Main(string[] args)
	{
		DoMethod();
	}
}

Wynik:

Currently called method name is DoMethod.

3. Przykład klasy StackTrace

To jest dodatkowy, alternatywny sposób dla poprzednich przykładów.

using System;
using System.Diagnostics;
using System.Reflection;

public static class Program
{
	private static void DoMethod()
	{
		StackTrace trace = new StackTrace();

		StackFrame frame = trace.GetFrame(0);
		MethodBase method = frame.GetMethod();

		Console.WriteLine("Currently called method name is " + method.Name + ".");
	}

	public static void Main(string[] args)
	{
		DoMethod();
	}
}

Wynik:

Currently called method name is DoMethod.

Bibliografia

  1. StackTrace Class - Microsoft docs
  2. StackFrame.GetMethod Method - Microsoft docs
  3. nameof operator - Microsoft Docs
0 contributions

Checkout latest Findings & News:

Checkout latest questions:

Checkout latest wiki articles:

Hey ­čĹő
Would you like to know what we do?
  • Dirask is IT community, where we share coding knowledge and help each other to solve coding problems.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.
Read more