이 영역을 누르면 첫 페이지로 이동
컴01기 블로그의 첫 페이지로 이동

컴01기

페이지 맨 위로 올라가기

컴01기

힝입니다.

[Error] Library\PackageCache\com.unity.inputsystem@1.2.0\InputSystem\Plugins\UnityRemote\UnityRemoteSupport.cs(284,49): warning CS0252: Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'

  • 2023.11.22 03:21
  • 🎲유니티

문제 파일

Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote/UnityRemoteSupport.cs

 

 

에러 뜨는 부분

if (getConfigValueMethod != null && getConfigValueMethod.Invoke(null, new[] { "UnityRemoteResolution" }) == "Normal")
{
	hdim1 = dimension1;
	hdim2 = dimension2;
}

 

 

이 에러는 getConfigValueMethod.Invoke(null, new[] { "UnityRemoteResolution" })의 결과를 string 값과 비교하고 있는데, 이때 null과의 비교가 의도치 않게 참조 비교로 간주되어 경고가 발생한 것임

 

이를 해결하기 위해 명시적으로 형변환을 통해 값 비교를 수행하면 됨

 

참조 비교(Reference Comparison)

  • 두 객체가 메모리 상에서 동일한 위치를 참조하고 있는지 여부를 확인하는 비교 방법
  • C#에서는 참조 타입들에 대한 비교 시에 기본적으로 참조 비교가 이루어짐

 

그러나 문자열(string)과 같은 몇몇 참조 타입들은 예외적으로 값 비교를 수행하도록 오버라이드되어 있음

즉, 두 문자열이 동일한 내용을 가지면 참조 비교가 아닌 값 비교로 같다고 판단됨

 

경고 메시지에서 언급된 "Possible unintended reference comparison"은 아마도 getConfigValueMethod.Invoke(...) 메서드의 반환 값이 string이라는 가정 하에 참조 비교를 하지 않을 것을 나타내고 있는 뜻일거임

그래서 (string)을 사용하여 형 변환을 시킨 후에 값 비교를 수행하도록 수정해야 함

 

 

고친 코드

if (getConfigValueMethod != null && (string)getConfigValueMethod.Invoke(null, new[] { "UnityRemoteResolution" }) == "Normal")
{
    hdim1 = dimension1;
    hdim2 = dimension2;
}

 

 

깔끔쓰

 

 

참고

https://stackoverflow.com/questions/12263715/possible-unintended-reference-comparison

 

Possible unintended reference comparison

I have the following code which gives a warning Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'` if (lblStatus.Content == "ACTIVE")...

stackoverflow.com

 

저작자표시

'🎲유니티' 카테고리의 다른 글

C# 코드 컨벤션  (0) 2023.11.22

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • C# 코드 컨벤션

    C# 코드 컨벤션

    2023.11.22
다른 글 더 둘러보기

정보

컴01기 블로그의 첫 페이지로 이동

컴01기

  • 컴01기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (87)
    • 📰논문 리뷰 (16)
    • 🍒회고록 (4)
    • 🖤네이버 ai tech (0)
    • ✨글쓰는힝 (1)
    • 🔥취준일기 (2)
    • 🎲유니티 (2)
    • 🔨삽질 (10)
    • 📚 서적 리뷰 (4)
    • 🐹알고리즘 (4)
    • 😎정리하는 카테고리 (4)
    • 📝CS 공부 (6)
      • 운영체제 (1)
      • 네트워크 (4)
      • 리팩토링 (1)
    • etc (22)
      • 혼공단 (7)
      • Spring (7)
      • JS (1)
      • OpenCV (2)
      • Unity (5)

최근 글

인기 글

댓글

태그

  • 백준
  • 혼공단
  • 혼공SQL
  • unity
  • 회고록
  • 혼공학습단
  • 혼공머신
  • github

나의 외부 링크

  • Github
  • Youtube

정보

힝님의 컴01기

컴01기

힝님

방문자

  • 전체 방문자
  • 오늘
  • 어제

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 힝님. Designed by Fraccino.

티스토리툴바