[Test]
public void CurrentMethodNameExperiments()
{
var method1 = MethodBase.GetCurrentMethod().DeclaringType +
"." + MethodBase.GetCurrentMethod().Name + "()";
var method2 = MethodBase.GetCurrentMethod().ToString();
var method3 = GetMethodName();
Debug.WriteLine("Method 1: MethodBase.GetCurrentMethod().DeclaringType + " +
"MethodBase.GetCurrentMethod().Name");
Debug.WriteLine("Method 2: MethodBase.GetCurrentMethod().ToString()");
Debug.WriteLine("Method 3: Using attributes");
Debug.WriteLine();
Debug.WriteLine("Method 1: " + method1);
Debug.WriteLine("Method 2: " + method2);
Debug.WriteLine("Method 3: " + method3);
}
public string GetMethodName(
[CallerMemberName] string memberName = "",
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0)
{
string result = memberName + "() in file \"" + sourceFilePath +
"\" (" + sourceLineNumber + ")";
return result;
}
Output looks like this:
Method 1: MethodBase.GetCurrentMethod().DeclaringType + MethodBase.GetCurrentMethod().Name
Method 2: MethodBase.GetCurrentMethod().ToString()
Method 3: Using attributes
Method 1: ClassLibrary1.Tests.CurrentMethodNameExperiments()
Method 2: Void CurrentMethodNameExperiments()
Method 3: CurrentMethodNameExperiments() in file "...\Tests.cs" (49)
No comments:
Post a Comment