ObjectManager.RegisterObject Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Registrerar ett objekt när det deserialiseras.
Överlagringar
| Name | Description |
|---|---|
| RegisterObject(Object, Int64) |
Registrerar ett objekt eftersom det deserialiseras och associerar det med |
| RegisterObject(Object, Int64, SerializationInfo) |
Registrerar ett objekt eftersom det deserialiseras, associerar det med |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
Registrerar en medlem i ett objekt eftersom det deserialiseras, associerar det med |
| RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
Registrerar en medlem i en matris som finns i ett objekt medan den deserialiseras, associerar den med |
RegisterObject(Object, Int64)
Registrerar ett objekt eftersom det deserialiseras och associerar det med objectID.
public:
virtual void RegisterObject(System::Object ^ obj, long objectID);
public virtual void RegisterObject(object obj, long objectID);
[System.Security.SecurityCritical]
public virtual void RegisterObject(object obj, long objectID);
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
[<System.Security.SecurityCritical>]
abstract member RegisterObject : obj * int64 -> unit
override this.RegisterObject : obj * int64 -> unit
Public Overridable Sub RegisterObject (obj As Object, objectID As Long)
Parametrar
- obj
- Object
Objektet som ska registreras.
- objectID
- Int64
ID:t för det objekt som ska registreras.
- Attribut
Undantag
Parametern obj är null.
Parametern objectID är mindre än eller lika med noll.
objectID Har redan registrerats för ett annat objekt än obj.
Kommentarer
ObjectManager behåller information om både objektet och dess ID. Senare under deserialiseringen GetObject kan användas för att avgöra om ett visst objekt-ID redan har deserialiserats eller om det är en referens framåt till ett objekt som ännu inte har deserialiserats.
Gäller för
RegisterObject(Object, Int64, SerializationInfo)
Registrerar ett objekt eftersom det deserialiseras, associerar det med objectIDoch registrerar det SerializationInfo som används med det.
public:
void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info);
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
[System.Security.SecurityCritical]
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo)
Parametrar
- obj
- Object
Objektet som ska registreras.
- objectID
- Int64
ID:t för det objekt som ska registreras.
- info
- SerializationInfo
Används SerializationInfo om implementerar ISerializable eller har en ISerializationSurrogateobj .
info kommer att slutföras med nödvändig korrigeringsinformation och skickas sedan till det objekt som krävs när objektet har slutförts.
- Attribut
Undantag
Parametern obj är null.
Parametern objectID är mindre än eller lika med noll.
objectID Har redan registrerats för ett annat objekt än obj.
Kommentarer
ObjectManager behåller informationen om både objektet och dess ID. Senare under deserialiseringen kan du använda GetObject för att ta reda på om ett visst objekt-ID redan har deserialiserats eller om det är en referens framåt till ett objekt som ännu inte har deserialiserats.
Gäller för
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)
Registrerar en medlem i ett objekt eftersom det deserialiseras, associerar det med objectIDoch registrerar SerializationInfo.
public:
void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member);
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member);
[System.Security.SecurityCritical]
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo, idOfContainingObj As Long, member As MemberInfo)
Parametrar
- obj
- Object
Objektet som ska registreras.
- objectID
- Int64
ID:t för det objekt som ska registreras.
- info
- SerializationInfo
Används SerializationInfo om implementerar ISerializable eller har en ISerializationSurrogateobj .
info kommer att slutföras med nödvändig korrigeringsinformation och skickas sedan till det objekt som krävs när objektet har slutförts.
- idOfContainingObj
- Int64
ID:t för objektet som innehåller obj. Den här parametern krävs endast om obj är en värdetyp.
- member
- MemberInfo
Fältet i det innehållande objektet där obj det finns. Den här parametern betyder endast om obj är en värdetyp.
- Attribut
Undantag
Parametern obj är null.
Parametern objectID är mindre än eller lika med noll.
objectID Har redan registrerats för ett annat objekt än obj, eller member är inte en FieldInfo och member är inte null.
Kommentarer
Du måste ange parametrarna member och idOfContainingObj om obj är en ValueType på grund av hur korrigeringar utförs på ValueType objekt. Utrymmet för att lagra informationen för en ValueType allokeras infogat med dess innehållande objekt. Men när ValueType rutan är markerad för att registreras med ObjectManagerförlorar den anslutningen med dess innehållande objekt. För att garantera att korrigeringar sker i instansen av den ValueType lagrade i det innehållande objektet och inte i den inramade instansen behåller den ObjectManager ytterligare information.
ObjectManager behåller information om både objektet och dess ID. Senare under deserialiseringen GetObject kan användas för att identifiera om ett visst objekt-ID redan har deserialiserats eller om det är en referens till ett objekt som ännu inte deserialiserats.
Gäller för
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])
Registrerar en medlem i en matris som finns i ett objekt medan den deserialiseras, associerar den med objectIDoch registrerar SerializationInfo.
public:
void RegisterObject(System::Object ^ obj, long objectID, System::Runtime::Serialization::SerializationInfo ^ info, long idOfContainingObj, System::Reflection::MemberInfo ^ member, cli::array <int> ^ arrayIndex);
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member, int[] arrayIndex);
[System.Security.SecurityCritical]
public void RegisterObject(object obj, long objectID, System.Runtime.Serialization.SerializationInfo info, long idOfContainingObj, System.Reflection.MemberInfo member, int[] arrayIndex);
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
[<System.Security.SecurityCritical>]
member this.RegisterObject : obj * int64 * System.Runtime.Serialization.SerializationInfo * int64 * System.Reflection.MemberInfo * int[] -> unit
Public Sub RegisterObject (obj As Object, objectID As Long, info As SerializationInfo, idOfContainingObj As Long, member As MemberInfo, arrayIndex As Integer())
Parametrar
- obj
- Object
Objektet som ska registreras.
- objectID
- Int64
ID:t för det objekt som ska registreras.
- info
- SerializationInfo
Används SerializationInfo om implementerar ISerializable eller har en ISerializationSurrogateobj .
info kommer att slutföras med nödvändig korrigeringsinformation och skickas sedan till det objekt som krävs när objektet har slutförts.
- idOfContainingObj
- Int64
ID:t för objektet som innehåller obj. Den här parametern krävs endast om obj är en värdetyp.
- member
- MemberInfo
Fältet i det innehållande objektet där obj det finns. Den här parametern betyder endast om obj är en värdetyp.
- arrayIndex
- Int32[]
Om obj är en ValueType och en medlem i en matris, arrayIndex innehåller indexet i matrisen där obj det finns.
arrayIndex ignoreras om obj inte är både en ValueType och en medlem i en matris.
- Attribut
Undantag
Parametern obj är null.
Parametern objectID är mindre än eller lika med noll.
objectID Har redan registrerats för ett annat objekt än obj, eller member är inte en FieldInfo och member är inte null.
Kommentarer
Du måste ange parametrarna member och idOfContainingObj om obj är en ValueType på grund av hur korrigeringar utförs på ValueType objekt. Utrymmet för att lagra informationen för en ValueType allokeras infogat med dess innehållande objekt. Men när ValueType rutan är markerad för att registreras med ObjectManagerförlorar den anslutningen med dess innehållande objekt. För att garantera att korrigeringar sker i instansen av den ValueType lagrade i det innehållande objektet och inte i den inramade instansen behåller den ObjectManager ytterligare information.
ObjectManager behåller information om både objektet och dess ID. Senare under deserialiseringen GetObject kan användas för att identifiera om ett visst objekt-ID redan har deserialiserats eller om det är en referens till ett objekt som ännu inte deserialiserats.