C# 是否可以通过调用实例来访问结构成员
我有一个关于C#struct的问题。我通常使用类,通过结构,我可以重写赋值的C# 是否可以通过调用实例来访问结构成员,c#,.net,struct,operators,implicit-conversion,C#,.net,Struct,Operators,Implicit Conversion,我有一个关于C#struct的问题。我通常使用类,通过结构,我可以重写赋值的=操作符 在我的例子中,我有一个struct: public struct ObjectWrap<T> { public T _value; public ObjectWrap(T value) { _value = value; } public static implicit operator ObjectWrap<T>(T valu
=
操作符
在我的例子中,我有一个struct
:
public struct ObjectWrap<T>
{
public T _value;
public ObjectWrap(T value)
{
_value = value;
}
public static implicit operator ObjectWrap<T>(T value)
{
return new ObjectWrap<T>(value);
}
}
但是,通过调用struct
,可以访问我的struct
值成员,例如
!String.IsNullOrWhiteSpace(d)
除此之外,我还得做一个访问器,它不太“人性化”。当然。只需旋转隐式运算符。顺便说一下,这在课堂上也同样有效:
public static implicit operator T(ObjectWrap<T> value)
{
return value._value;
}
public静态隐式运算符T(ObjectWrap值)
{
返回值。\u值;
}
此示例使用传入类型
T
作为返回值类型,因此对于ObjectWrapper
隐式运算符提供的每个类型T
也可以重载类。顺便说一句,您忘记隐藏您的类名DbField
:-D。但是您可以定义一个隐式转换运算符。没问题。我把你的帖子改了一点。还修复了我遇到的一些代码问题。这将有助于未来的读者。如果您觉得有必要,请随时回滚。
public static implicit operator T(ObjectWrap<T> value)
{
return value._value;
}