ObjectManager.RegisterObject 메서드

정의

역직렬화될 때 개체를 등록합니다.

오버로드

Name Description
RegisterObject(Object, Int64)

개체가 역직렬화될 때 개체를 등록하여 개체와 objectID연결합니다.

RegisterObject(Object, Int64, SerializationInfo)

역직렬화될 때 개체를 등록하고, 개체와 objectID연결하고, 사용된 개체를 SerializationInfo 기록합니다.

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)

개체의 멤버를 역직렬화하여 연결 objectID하고 기록 SerializationInfo할 때 등록합니다.

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])

개체가 역직렬화되는 동안 개체에 포함된 배열의 멤버를 등록하고, 개체와 objectID연결하고, 기록합니다 SerializationInfo.

RegisterObject(Object, Int64)

개체가 역직렬화될 때 개체를 등록하여 개체와 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)

매개 변수

obj
Object

등록할 개체입니다.

objectID
Int64

등록할 개체의 ID입니다.

특성

예외

매개 변수는 obj .입니다 null.

objectID 매개 변수가 0보다 작거나 같습니다.

objectID 아닌 obj다른 개체에 대해 이미 등록되었습니다.

설명

ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화 GetObject 중에 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 확인하는 데 사용할 수 있습니다.

적용 대상

RegisterObject(Object, Int64, SerializationInfo)

역직렬화될 때 개체를 등록하고, 개체와 objectID연결하고, 사용된 개체를 SerializationInfo 기록합니다.

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)

매개 변수

obj
Object

등록할 개체입니다.

objectID
Int64

등록할 개체의 ID입니다.

info
SerializationInfo

SerializationInfo 를 구현 ISerializable 하거나 사용하는 ISerializationSurrogate경우 obj 사용됩니다. info 는 필요한 수정 정보로 완료된 다음 해당 개체가 완료되면 필수 개체에 전달됩니다.

특성

예외

매개 변수는 obj .입니다 null.

objectID 매개 변수가 0보다 작거나 같습니다.

objectID 아닌 obj다른 개체에 대해 이미 등록되었습니다.

설명

ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화하는 동안 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지를 검색하는 데 사용할 GetObject 수 있습니다.

적용 대상

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)

개체의 멤버를 역직렬화하여 연결 objectID하고 기록 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)

매개 변수

obj
Object

등록할 개체입니다.

objectID
Int64

등록할 개체의 ID입니다.

info
SerializationInfo

SerializationInfo 를 구현 ISerializable 하거나 사용하는 ISerializationSurrogate경우 obj 사용됩니다. info 는 필요한 수정 정보로 완료된 다음 해당 개체가 완료되면 필수 개체에 전달됩니다.

idOfContainingObj
Int64

를 포함하는 개체의 ID입니다.obj 이 매개 변수는 값 형식인 경우에만 obj 필요합니다.

member
MemberInfo

포함하는 개체 obj 의 필드입니다. 이 매개 변수는 값 형식인 경우에만 obj 의미가 있습니다.

특성

예외

매개 변수는 obj .입니다 null.

objectID 매개 변수가 0보다 작거나 같습니다.

objectID 개체가 아닌 obj다른 개체에 대해 이미 등록되었거나 membermemberFieldInfonull아닌 경우

설명

개체에 member 대한 수정이 수행 ValueType 되는 방식 때문인 ValueType 경우 objidOfContainingObj 매개 변수를 제공해야 합니다. 정보를 ValueType 저장할 공간이 포함된 개체와 인라인으로 할당됩니다. 그러나 ValueType boxed를 등록 ObjectManager할 경우 포함하는 개체와의 연결이 끊깁니다. boxed ObjectManager 인스턴스가 아닌 포함하는 개체에 저장된 인스턴스 ValueType 에서 수정이 수행되도록 하려면 몇 가지 추가 정보를 유지합니다.

ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화 GetObject 중에 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 검색하는 데 사용할 수 있습니다.

적용 대상

RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])

개체가 역직렬화되는 동안 개체에 포함된 배열의 멤버를 등록하고, 개체와 objectID연결하고, 기록합니다 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())

매개 변수

obj
Object

등록할 개체입니다.

objectID
Int64

등록할 개체의 ID입니다.

info
SerializationInfo

SerializationInfo 를 구현 ISerializable 하거나 사용하는 ISerializationSurrogate경우 obj 사용됩니다. info 는 필요한 수정 정보로 완료된 다음 해당 개체가 완료되면 필수 개체에 전달됩니다.

idOfContainingObj
Int64

를 포함하는 개체의 ID입니다.obj 이 매개 변수는 값 형식인 경우에만 obj 필요합니다.

member
MemberInfo

포함하는 개체 obj 의 필드입니다. 이 매개 변수는 값 형식인 경우에만 obj 의미가 있습니다.

arrayIndex
Int32[]

배열의 멤버 ValueType 인 경우 obj 해당 배열 arrayIndex 내에 obj 있는 인덱스가 포함됩니다. arrayIndex는 배열의 멤버 ValueType 와 멤버가 아닌 경우 obj 무시됩니다.

특성

예외

매개 변수는 obj .입니다 null.

objectID 매개 변수가 0보다 작거나 같습니다.

objectID 개체가 아닌 obj다른 개체에 대해 이미 등록되었거나 membermemberFieldInfonull아닌 경우

설명

개체에 member 대한 수정이 수행 ValueType 되는 방식 때문인 ValueType 경우 objidOfContainingObj 매개 변수를 제공해야 합니다. 정보를 ValueType 저장할 공간이 포함된 개체와 인라인으로 할당됩니다. 그러나 ValueType boxed를 등록 ObjectManager할 경우 포함하는 개체와의 연결이 끊깁니다. boxed ObjectManager 인스턴스가 아닌 포함하는 개체에 저장된 인스턴스 ValueType 에서 수정이 수행되도록 하려면 몇 가지 추가 정보를 유지합니다.

ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화 GetObject 중에 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 검색하는 데 사용할 수 있습니다.

적용 대상