4
文字列にParseLong
という名前の拡張機能があります。動的オブジェクトに対して拡張機能が機能しない
public static long ParseLong(this string x, long Default = 0)
{
if (!string.IsNullOrEmpty(x))
long.TryParse(x, out Default);
return Default;
}
と正常に動作します:
long x = "9".ParseLong();
しかしなどの動的オブジェクトのために:
dynamic x = GetValues();
x.StartValue.ToString().ParseLong();
がエラーを生成します。
'string' does not contain a definition for 'ParseLong'