前回に続いて今回はC#5編
Caller Info 属性
呼び出し元のソースファイルのフルパス
[CallerFilePath]
呼び出し元の行番号
[CallerLineNumber]
呼び出し元のメンバー名
[CallerMemberName]
関数の定義はこんな感じです。
public static void WriteLine(string message,
[CallerFilePath] string file = "",
[CallerLineNumber] int line = 0,
[CallerMemberName] string member = "")
using System.Runtime.CompilerServices; | |
using UnityEngine; | |
public class CS5Test : MonoBehaviour | |
{ | |
void Start() | |
{ | |
WriteLine("Cs5Test"); | |
// Output : C:\Users\Chigusa\Source\Repos\Prototypes\Assets\Sample\Scripts\CS5Test.cs:8 - Start: Cs5Test | |
} | |
#region Caller Info 属性 | |
/// <summary> | |
/// Caller Info 属性 | |
/// </summary> | |
/// <param name="message">メッセージ</param> | |
/// <param name="file">CallerFilePath: 呼び出し元のファイル名</param> | |
/// <param name="line">CallerLineNumber: 呼び出し元の行番号</param> | |
/// <param name="member">CallerMemberName: 呼び出し元のメンバー名(メソッド名、プロパティ名、イベント名等々)</param> | |
public static void WriteLine(string message, | |
[CallerFilePath] string file = "", | |
[CallerLineNumber] int line = 0, | |
[CallerMemberName] string member = "") | |
{ | |
var s = string.Format("{0}:{1} - {2}: {3}", file, line, member, message); | |
Debug.Log(s); | |
} | |
#endregion | |
} |
やっぱりデバッグやツール用かな?
次はC#6へ
CITY 8巻
僕のヒーローアカデミア 24巻
メイドインアビス(8)
ハクメイとミコチ 7巻
0 件のコメント :
コメントを投稿