PdfNumber Class
Represents a PDF numeric object.
public abstract class PdfNumber : PdfBasicValue
Public MustInherit Class PdfNumber
Inherits PdfBasicValue
- Inheritance:
- PdfNumber
- Derived
Properties
IsInteger
Gets a value indicating whether this PdfNumber instance is PdfInteger.
public abstract bool IsInteger { get; }
Public MustOverride ReadOnly Property IsInteger As Boolean
Property Value
- System.Boolean
true if this PdfNumber instance is PdfInteger; otherwise, false.
ObjectType
Gets the Number value.
public sealed override PdfBasicObjectType ObjectType { get; }
Public NotOverridable Overrides ReadOnly Property ObjectType As PdfBasicObjectType
Property Value
The Number value.
Overrides
Value
Property Value
Methods
Create(Double)
public static PdfNumber Create(double value)
Public Shared Function Create(value As Double) As PdfNumber
Parameters
value
- Double
The number value.
Returns
Remarks
GemBox.Pdf assembly doesn't publicly expose constructors for types assignable from PdfObject (except PdfDocument), PdfContentElement, and PdfBasicObject types. These types are instead instantiated either through static Create or other factory methods.
Reasons for this is to support either the current or future extensibility of the type without affecting backward compatibility and without using composition to reduce the number of object allocations.
For example, PdfNumber type is implemented as PdfInteger and internal PdfReal type. When using Create(Double) method, GemBox.Pdf assembly is able to create either PdfReal or PdfInteger, or return a cached instance of PdfInteger available for an implementation-defined interval of integers, thus reducing memory overhead.
PdfString and PdfName types have several internal implementations that reduce the number of Array allocations.
PdfArray type is currently implemented as a dynamic array. In the future, GemBox.Pdf assembly might provide an internal implementation that is immutable (without a need to use composition) to reduce memory overhead and optimize cloning operation.
PdfDictionary type is currently implemented as a hash table with a separate chaining collision resolution. In the future, GemBox.Pdf assembly might provide an internal implementation that uses dynamic array (without a need to use composition) if number of entries is small, to reduce memory overhead and, potentially, improve performance.
All these current and future implementations would not be possible in a backward compatible way (without unnecessary usage of composition) if constructors were publicly exposed.
Exceptions
Value is either NaN, NegativeInfinity or PositiveInfinity.
See Also
Inherited Properties
Null | Gets the single instance of Null type. (Inherited from PdfBasicObject) |
Inherited Methods
Equals(Object) | Determines whether the specified Object is equal to this PdfBasicValue instance. (Inherited from PdfBasicValue) |
GetHashCode() | Returns a hash code for this PdfBasicValue instance. (Inherited from PdfBasicValue) |
ToString() | Returns a String that represents this PdfBasicObject instance. (Inherited from PdfBasicObject) |