0
私のプロジェクトの1つにビジネスオブジェクトプロパティ用のカスタムデータ型があります。このカスタムタイプは、.NETの基本データ型のラッパーです。カスタムデータ型:プロパティの値ではなく型の名前をレンダリングします
company.Name
Interfaces.Model.CustomType`1[System.String]
ことが期待されています:私は試してみて、プロパティから値を取得すると
、以下の構文がある場合に表示され
company.Name.Value
を私がする必要性を回避したいと思います.value;を使用します。操作や暗黙的/明示的なメソッドをオーバーロードしようとしていますか?
助けがあれば助かります。ここで
はCustomTypeの一般的な概要です:
public class CustomType<t>
{
#region Implicit Casting
/// <summary>
///
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static implicit operator t(CustomType<t> obj)
{
if (obj == null)
return new CustomType<t>().Value;
return obj.Value;
}
/// <summary>
///
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static implicit operator CustomType<t>(t obj)
{
return new CustomType<t>(obj);
}
#endregion Implicit Casting
/// <summary>
/// Gets or sets the value.
/// </summary>
/// <value>The value.</value>
public t Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
/// <summary>
/// Sets the value.
/// </summary>
/// <param name="value">The value.</param>
/// <returns></returns>
public CustomType<t> setValue(t value)
{
try
{
Value = value;
}
catch (InvalidCastException e)
{
throw new InvalidCastException("CustomType invalid property cast ", e.InnerException);
}
return this;
}
}
これは私が必要だったすべてです。事実の後に意味をなさない。それを見たはずです。返品にヌルチェックを追加し、素晴らしい作品です。 – Arnej65