void 객체를 인스턴스화 했습니까?

user5147454

아시다시피 C #에서는 다음과 같은 작업을 수행 할 수 없습니다.

var voidObject = new void();

또는

var voidObject = new System.Void();

또는

var voidObject = Activator.CreateInstance(typeof(void));

하지만이 코드는 성공적으로 컴파일 및 디버그 모드에서 나는의 유형 볼 수 있습니다 voidObject입니다 System.Void:

var voidObject = FormatterServices.GetUninitializedObject(typeof(void));

이게 뭐야? 이 실제 인스턴스 void입니까?

Xanatos

내가 볼 수 있듯이 완벽하고 완벽하게 유효한 박스형 System.Void 값 유형입니다. :-)

당신은 할 수 있습니다

Console.WriteLine(voidObject.GetType());

그리고 그것이 System.Void.

System.Void은 값 유형이므로 작성하는 FormatterServices.GetUninitializedObject것은 수행하는 것과 동일해야합니다 (object)default(void)( FormatterServices.GetUninitializedObject모든 필드가 기본값으로 설정된 값 유형을 반환 하기 때문 입니다) (분명히 (object)default(void)불법입니다).

여전히 박스형으로 할 수있는 일이 많지 않습니다 System.Void.

var voidObject = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(typeof(void));
var voidObject2 = System.Runtime.Serialization.FormatterServices.GetUninitializedObject(typeof(void));

Console.WriteLine("Type: {0}", voidObject.GetType());
Console.WriteLine("IsValueType: {0}", voidObject.GetType().IsValueType);

Console.WriteLine("Equals: {0}", voidObject.Equals(voidObject2));
Console.WriteLine("GetHashCode1: {0}", voidObject.GetHashCode());
Console.WriteLine("GetHashCode2: {0}", voidObject2.GetHashCode());
Console.WriteLine("ToString: {0}", voidObject.ToString());

사이에 약간의 차이가있는 것 같다 .NET모노 의 모든 인스턴스 .NET에 ... 구현을 System.Void동일이는 GetHashCode()모노에 그들 모두가 다른있는 동안, GetHashCode(). Equals제대로 (작동 true) 둘 다에.

(주는 차이가 있음을 GetHashCode()와 모노의 버그 것 같다 struct필드없이 S : https://ideone.com/t0t8I6수정되어야 새로운 릴리스에서)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

인스턴스화 할 수없는 객체를 모의 할 수 있습니까?

분류에서Dev

이 인터페이스는 속성으로 이미 인스턴스화 객체를 가질 수 있습니까?

분류에서Dev

5 ~ 7 초마다 객체를 어떻게 인스턴스화합니까?

분류에서Dev

객체를 인스턴스화하는 데이 두 JavaScript 패턴 중 어느 것이 더 낫습니까?

분류에서Dev

모듈 maq를 인스턴스화하지 못했습니다.

분류에서Dev

모듈 Firebase를 인스턴스화하지 못했습니다.

분류에서Dev

C 구조체 객체를 전역 변수로 인스턴스화하는 것이 나쁜 습관입니까?

분류에서Dev

Node.js에서 새 SystemError 객체를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

Scala에서 제네릭 유형 T의 객체를 인스턴스화 할 수 있습니까?

분류에서Dev

로컬 이외의 시간대에서 datetime 객체를 인스턴스화하는 방법이 있습니까?

분류에서Dev

내 backbone.js 경로에서 너무 많은 객체를 인스턴스화하고 있습니까?

분류에서Dev

루프에서 객체를 인스턴스화하는 데 무엇이 잘못 되었습니까?

분류에서Dev

PDO 객체와 동일한 핸들로 Laravel DB 객체를 인스턴스화합니다.

분류에서Dev

다른 객체의 메서드를 사용하여 추상 클래스를 인스턴스화합니까?

분류에서Dev

Java 객체를 사용하여 클래스를 인스턴스화하는 이유는 무엇입니까?

분류에서Dev

인스턴스화되지 않은 객체에 대한 클래스 함수를 인스턴스화하는 방법은 무엇입니까?

분류에서Dev

인스턴스화되지 않은 객체에 대한 클래스 함수를 인스턴스화하는 방법은 무엇입니까?

분류에서Dev

push_back ()으로 객체를 인스턴스화 할 때 객체 생성자에 포인터를 어떻게 전달할 수 있습니까?

분류에서Dev

모듈 스타터를 인스턴스화하지 못했습니다.

분류에서Dev

cucumber.runtime.CucumberException : 클래스를 인스턴스화하지 못했습니다.

분류에서Dev

파이썬에서 클래스를 인스턴스화하는 객체의 유형은 무엇입니까?

분류에서Dev

PHP의 테이블 셀 내부에서 객체 클래스를 인스턴스화합니까?

분류에서Dev

JVM은 추상 클래스에 대한 객체를 내부적으로 인스턴스화합니까?

분류에서Dev

XAML로 개체를 어떻게 인스턴스화합니까?

분류에서Dev

파생 객체를 void *에 저장 한 다음 기본 객체를 캐스팅하는 것이 안전하지 않습니까?

분류에서Dev

void * 포인터를 기대하는 함수에 함수 객체를 어떻게 전달할 수 있습니까?

분류에서Dev

PrintfArg를 어떻게 인스턴스화 할 수 있습니까?

분류에서Dev

mongoDB에 객체 인스턴스를 저장 하시겠습니까?

분류에서Dev

AWS 인스턴스에서 ufw를 활성화했습니다. 어떻게 막을까요?

Related 관련 기사

  1. 1

    인스턴스화 할 수없는 객체를 모의 할 수 있습니까?

  2. 2

    이 인터페이스는 속성으로 이미 인스턴스화 객체를 가질 수 있습니까?

  3. 3

    5 ~ 7 초마다 객체를 어떻게 인스턴스화합니까?

  4. 4

    객체를 인스턴스화하는 데이 두 JavaScript 패턴 중 어느 것이 더 낫습니까?

  5. 5

    모듈 maq를 인스턴스화하지 못했습니다.

  6. 6

    모듈 Firebase를 인스턴스화하지 못했습니다.

  7. 7

    C 구조체 객체를 전역 변수로 인스턴스화하는 것이 나쁜 습관입니까?

  8. 8

    Node.js에서 새 SystemError 객체를 어떻게 인스턴스화 할 수 있습니까?

  9. 9

    Scala에서 제네릭 유형 T의 객체를 인스턴스화 할 수 있습니까?

  10. 10

    로컬 이외의 시간대에서 datetime 객체를 인스턴스화하는 방법이 있습니까?

  11. 11

    내 backbone.js 경로에서 너무 많은 객체를 인스턴스화하고 있습니까?

  12. 12

    루프에서 객체를 인스턴스화하는 데 무엇이 잘못 되었습니까?

  13. 13

    PDO 객체와 동일한 핸들로 Laravel DB 객체를 인스턴스화합니다.

  14. 14

    다른 객체의 메서드를 사용하여 추상 클래스를 인스턴스화합니까?

  15. 15

    Java 객체를 사용하여 클래스를 인스턴스화하는 이유는 무엇입니까?

  16. 16

    인스턴스화되지 않은 객체에 대한 클래스 함수를 인스턴스화하는 방법은 무엇입니까?

  17. 17

    인스턴스화되지 않은 객체에 대한 클래스 함수를 인스턴스화하는 방법은 무엇입니까?

  18. 18

    push_back ()으로 객체를 인스턴스화 할 때 객체 생성자에 포인터를 어떻게 전달할 수 있습니까?

  19. 19

    모듈 스타터를 인스턴스화하지 못했습니다.

  20. 20

    cucumber.runtime.CucumberException : 클래스를 인스턴스화하지 못했습니다.

  21. 21

    파이썬에서 클래스를 인스턴스화하는 객체의 유형은 무엇입니까?

  22. 22

    PHP의 테이블 셀 내부에서 객체 클래스를 인스턴스화합니까?

  23. 23

    JVM은 추상 클래스에 대한 객체를 내부적으로 인스턴스화합니까?

  24. 24

    XAML로 개체를 어떻게 인스턴스화합니까?

  25. 25

    파생 객체를 void *에 저장 한 다음 기본 객체를 캐스팅하는 것이 안전하지 않습니까?

  26. 26

    void * 포인터를 기대하는 함수에 함수 객체를 어떻게 전달할 수 있습니까?

  27. 27

    PrintfArg를 어떻게 인스턴스화 할 수 있습니까?

  28. 28

    mongoDB에 객체 인스턴스를 저장 하시겠습니까?

  29. 29

    AWS 인스턴스에서 ufw를 활성화했습니다. 어떻게 막을까요?

뜨겁다태그

보관