类型是镜像 ObjectARX SDK 中定义的结构的类。该结构为特定于 AutoCAD 的数据提供了一个灵活的容器。ResultBufferresbufresbuf
类对象的使用方式与链的使用方式大致相同。您可以定义一个,并用一系列数据对填充它。每对都包含一个数据类型、描述和一个值。在托管 API 中,这些数据对是类的实例。此实用程序类的用途与结构的 和 成员相同。Autodesk.AutoCAD.DatabaseServices.ResultBufferresbufResultBufferAutodesk.AutoCAD.DatabaseServices.TypedValuerestyperesvalresbuf
该属性是一个 16 位整数值,用于指示属性的数据类型。可接受的值取决于实例的特定用途。例如,适用于 xrecord 定义的值不一定适用于 xdata。枚举定义了准确描述所有可能数据类型的代码。TypedValue.TypeCodeTypedValue.ValueTypeCodeResultBufferTypeCodeAutodesk.AutoCAD.DatabaseServices.DxfCodeResultBuffer
该属性映射到 的实例,理论上可以包含任何类型的数据。但是,数据必须符合 指示的类型,以保证可用的结果。TypedValue.ValueSystem.ObjectValueTypeCode
可以通过将对象数组传递给其构造函数来预填充 a,也可以构造一个空的,然后调用该方法来追加新对象。下面的示例显示了一个典型的构造函数用法:ResultBufferTypedValueResultBufferResultBuffer::Add()TypedValueResultBuffer
- VB.NET
-
Using rec As New Xrecord()
rec.Data = New ResultBuffer( _
New TypedValue(CInt(DxfCode.Text), "This is a test"), _
New TypedValue(CInt(DxfCode.Int8), 0), _
New TypedValue(CInt(DxfCode.Int16), 1), _
New TypedValue(CInt(DxfCode.Int32), 2), _
New TypedValue(CInt(DxfCode.HardPointerId), db.BlockTableId), _
New TypedValue(CInt(DxfCode.BinaryChunk), New Byte(){0, 1, 2, 3, 4}), _
New TypedValue(CInt(DxfCode.ArbitraryHandle), db.BlockTableId.Handle), _
New TypedValue(CInt(DxfCode.UcsOrg), New Point3d(0, 0, 0)))
End Using
- C#
-
using (Xrecord rec = new Xrecord())
{
rec.Data = new ResultBuffer(
new TypedValue(Convert.ToInt32(DxfCode.Text), "This is a test"),
new TypedValue(Convert.ToInt32(DxfCode.Int8), 0),
new TypedValue(Convert.ToInt32(DxfCode.Int16), 1),
new TypedValue(Convert.ToInt32(DxfCode.Int32), 2),
new TypedValue(Convert.ToInt32(DxfCode.HardPointerId), db.BlockTableId),
new TypedValue(Convert.ToInt32(DxfCode.BinaryChunk), new byte[] {0, 1, 2, 3, 4}),
new TypedValue(Convert.ToInt32(DxfCode.ArbitraryHandle), db.BlockTableId.Handle),
new TypedValue(Convert.ToInt32(DxfCode.UcsOrg),
new Point3d(0, 0, 0)));
}
|