ObjectManager.RegisterObject 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
개체가 역직렬화될 때 개체를 등록합니다.
오버로드
RegisterObject(Object, Int64) |
개체가 역직렬화될 때 개체를 등록하여 |
RegisterObject(Object, Int64, SerializationInfo) |
개체가 역직렬화될 때 개체를 등록하여 |
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo) |
개체의 멤버가 역직렬화될 때 개체의 멤버를 등록하여 |
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[]) |
개체에 포함된 배열의 멤버가 역직렬화될 때 해당 멤버를 등록하여 |
RegisterObject(Object, Int64)
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
개체가 역직렬화될 때 개체를 등록하여 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)
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
개체가 역직렬화될 때 개체를 등록하여 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
obj
가 SerializationInfo을 구현하거나 ISerializable를 포함하는 경우 사용된 ISerializationSurrogate입니다.
info
는 필수 픽스업 정보를 사용하여 완료된 다음 필수 개체가 완료될 때 해당 개체에 전달됩니다.
- 특성
예외
obj
매개 변수가 null
인 경우
objectID
매개 변수가 0보다 작은 경우
objectID
가 obj
이외의 개체에 대해 이미 등록된 경우
설명
ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화 중에 를 사용하여 GetObject 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 검색할 수 있습니다.
적용 대상
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo)
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
개체의 멤버가 역직렬화될 때 개체의 멤버를 등록하여 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);
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
obj
가 SerializationInfo을 구현하거나 ISerializable를 포함하는 경우 사용된 ISerializationSurrogate입니다.
info
는 필수 픽스업 정보를 사용하여 완료된 다음 필수 개체가 완료될 때 해당 개체에 전달됩니다.
- idOfContainingObj
- Int64
obj
를 포함하는 개체의 ID입니다. 이 매개 변수는 obj
가 값 형식인 경우에만 필요합니다.
- member
- MemberInfo
obj
가 존재하는 포함 개체의 필드입니다. 이 매개 변수는 obj
가 값 형식인 경우에만 의미가 있습니다.
- 특성
예외
obj
매개 변수가 null
인 경우
objectID
매개 변수가 0보다 작은 경우
objectID
가 이미 obj
이외의 개체에 대해 등록된 경우 또는 member
가 FieldInfo가 아니며 member
가 null
도 아닌 경우
설명
개체에서 수정이 member
수행 ValueType 되는 방식 때문에 가 인 ValueType 경우 obj
및 idOfContainingObj
매개 변수를 제공해야 합니다. 에 대한 ValueType 정보를 저장할 공간은 포함하는 개체와 함께 인라인으로 할당됩니다. 그러나 가 ValueType 에 등록되도록 boxed되면 ObjectManager포함하는 개체와의 연결이 끊어집니다. 상자가 있는 instance 아닌 포함하는 개체에 저장된 의 ValueType instance ObjectManager 수정이 발생하도록 보장하기 위해 는 몇 가지 추가 정보를 유지합니다.
ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화하는 GetObject 동안 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 검색하는 데 사용할 수 있습니다.
적용 대상
RegisterObject(Object, Int64, SerializationInfo, Int64, MemberInfo, Int32[])
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
- Source:
- ObjectManager.cs
개체에 포함된 배열의 멤버가 역직렬화될 때 해당 멤버를 등록하여 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);
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
obj
가 SerializationInfo을 구현하거나 ISerializable를 포함하는 경우 사용된 ISerializationSurrogate입니다.
info
는 필수 픽스업 정보를 사용하여 완료된 다음 필수 개체가 완료될 때 해당 개체에 전달됩니다.
- idOfContainingObj
- Int64
obj
를 포함하는 개체의 ID입니다. 이 매개 변수는 obj
가 값 형식인 경우에만 필요합니다.
- member
- MemberInfo
obj
가 존재하는 포함 개체의 필드입니다. 이 매개 변수는 obj
가 값 형식인 경우에만 의미가 있습니다.
- arrayIndex
- Int32[]
obj
가 ValueType이고 배열의 멤버인 경우 arrayIndex
에는 obj
가 존재하는 해당 배열 내부의 인덱스가 포함됩니다.
arrayIndex
가 ValueType 또는 배열의 멤버가 아닌 경우에는 obj
가 무시됩니다.
- 특성
예외
obj
매개 변수가 null
인 경우
objectID
매개 변수가 0보다 작은 경우
objectID
가 이미 obj
이외의 개체에 대해 등록된 경우 또는 member
가 FieldInfo가 아니며 member
가 null
도 아닌 경우
설명
개체에서 수정이 member
수행 ValueType 되는 방식 때문에 가 인 ValueType 경우 obj
및 idOfContainingObj
매개 변수를 제공해야 합니다. 에 대한 ValueType 정보를 저장할 공간은 포함하는 개체와 함께 인라인으로 할당됩니다. 그러나 가 ValueType 에 등록되도록 boxed되면 ObjectManager포함하는 개체와의 연결이 끊어집니다. 상자가 있는 instance 아닌 포함하는 개체에 저장된 의 ValueType instance ObjectManager 수정이 발생하도록 보장하기 위해 는 몇 가지 추가 정보를 유지합니다.
ObjectManager 는 개체와 해당 ID 모두에 대한 정보를 유지합니다. 나중에 역직렬화하는 GetObject 동안 특정 개체 ID가 이미 역직렬화되었는지 또는 아직 역직렬화되지 않은 개체에 대한 정방향 참조인지 여부를 검색하는 데 사용할 수 있습니다.
적용 대상
.NET