Resource String

모바일 개발에 대해서 지식이 전무한 상태입니다.

MAUI로 Foreground Service 개발해보고 싶은 것이 있어 찾아보던 도중 Xamarin의 예제를 카피해서 하면 그나마 쉽다고 들었는데,

제가 Xamarin 소스를 볼 줄 모르겠습니다.

Resource.designer.cs에 Resource.String 클래스가 있습니다.

Resource.designer.cs는 이 예제소스를 만든 사람이 개발한 것은 아니고 Xamarin 프로젝트 생성 시 만들어 주는 것 같습니다.

그리고 아래 그림과 같이

image

이런 식으로 생겼습니다. 그것을 아래 소스 Resources.GetString(Resource.String.app_name)처럼 사용합니다.

image

이 프로젝트의 Main.axml을 보면

image

이렇게 생긴 것으로 봐서, 저 문자열 리소스 파일이

여기 문자열을 가져다 쓰는 것 같습니다.

혹시 어떤 원리로 가져다 써지는 것인지 알 수 있을까요?

이것이 궁금하게 된 이유는 아까 위의 Resource.designer.cs 에서 이상한 숫자 값을 대입하는데, 이 숫자가 어떤 의미인지 모르겠습니다.

어떻게 문자열 ID를 부여하는 것인지 궁금합니다.

좋아요 1

아… Strings.xml 에 문자열을 추가하니까 알아서 Resource.desinger.cs 가 ID를 부여해서 업데이트 되네요…^^;;

좋아요 2

하지만 이것은 Xamarin 에서 이렇게 하는 것 같고 MAUI에서는 다르게 가는 것 같습니다.

.NET Conf 2021에 예제로 나온 dotnet-potcasts MAUI Blazor 소스를 보면 리소스 파일(.resx)을 사용해서 문자열 리소스를 구성하도록 되어있습니다.

Xamarin 때보다 MAUI가 조금 더 C# 스타일이 된 것 같습니다.

좋아요 1