是否可以在不安全的指针类型上创建别名,即我想使用以下:using bytePtr = System.Byte*
.
.net 开发人员会在未来的版本中引入此功能(指针和数组类型的别名)吗?
不,不是。
如果是,则语法将是:
using BytePtr = System.Byte*;
但再说一遍:不,你不能那样做。using
别名不能指向指针。
此外,byte*
比BytePtr
IMO 更短更清晰。
不,使用别名仅与名称空间和类型名称有关。您不能将其用于“派生”类型。
为了比较,以下内容也不会编译:
using NullDate = System.DateTime?;
错误(在“?”上)只是';'
预期的。
不可能。如果你坚持你可以定义一个包装类或结构并得到非常接近的东西。但是我不推荐这个,因为它似乎没有什么价值。
像这样的东西:
unsafe struct BytePtr
{
public BytePtr(byte *value)
{
_value = value;
}
private byte* _value;
public byte* Value
{
get { return _value; }
}
}