文字列内のトークンだけでなく、その形式自体も補間したいと思います。ここでは、ローカル変数のフォーマット文字列をロードstring.Format
を使用した例です:補間された文字列内の補間形式文字列
object boxedDate = DateTime.Today;
var dateFormat = "MM-dd-yyyy";
var dateString = string.Format($"{{0:{dateFormat}}}", boxedDate);
補間文字列構文を使用すると、しかし、文字列のフォーマット部分は純粋にリテラルであるようです。概念的には、次のようなことをしたいと考えています。
dateString = $"{boxedDate:{dateFormat}}";
もちろん動作しません。私は日時をVHS版と、このような.ToString()
を呼び出すことができることを知っている:
dateString = $"{((DateTime)boxedDate).ToString(dateFormat)}";
...それは、実行時にタイプを知るために私を必要とします。これは、小数点、整数、日付などである可能性があります。
これは契約の破損者ではありません。補間された文字列構文でこれを実際に行う方法がない場合、私はいつもstring.Format
を使用することができます。