๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
C#

CS1612 ์˜ค๋ฅ˜ : 'expression'์€ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ํ•ด๋‹น ๋ฐ˜ํ™˜ ๊ฐ’์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

by ใ…Ž-ใ…Ž 2022. 12. 1.

๋ฌธ์ œ์˜ ์ƒํ™ฉ

: Bounds์™€ ๋น„์Šทํ•œ ํ˜•์‹์œผ๋กœ Min, Max Vector2๋ฅผ ๋‘ ๊ฐœ ๊ฐ–๋Š” ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์„œ struct ํƒ€์ž…์˜ MovableArea๋ฅผ ์„ ์–ธ, min ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋„ฃ์œผ๋ ค ํ•˜์ž ์—๋Ÿฌ ๋ฐœ์ƒ

public struct MoveableArea
{
    public Vector2 min { get; set; }
    public Vector2 max { get; set; }
}

public class MovingArea : Singleton<MovingArea>
{
    MoveableArea MoveableArea;

    private void Start()
    {
        MoveableArea.min.x = -GameManager.Instance.ScreenRectInWorldSpace.x;
    }
}

 

์›์ธ

: get ํ”„๋กœํผํ‹ฐ๋กœ ์–ป์–ด์˜จ min์€ ๋ณต์‚ฌ๋ณธ์ธ๋ฐ ๊ทธ ๋ณต์‚ฌ๋ณธ์„ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•ด์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ

 

ํ•ด๊ฒฐ

public struct MoveableArea
{
    public Vector2 min;
    public Vector2 max;
}

: get, set ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ Vector2 ์ผ๋ฐ˜ ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•˜๋ฉด ๋จ

 

 

 

+

์œ„๋Š” ๋‹น์—ฐํžˆ ์•ˆ ๋˜๋Š” ๋ฌธ์ œ์˜€๊ณ (^-^;;), MSDN์—์„œ ์‚ดํŽด๋ณธ ์ผ๋ฐ˜์ ์ธ CS1612์˜ ์˜ค๋ฅ˜ ์ƒํ™ฉ์€ ์ด๋ ‡๋‹ค.

 

๋ฌธ์ œ์˜ ์ƒํ™ฉ

: ๊ตฌ์กฐ์ฒด ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ์˜ ๊ฐ’์„ ์ง์ ‘ ์ˆ˜์ • ์‹œ๋„

List<myStruct> list = {…};  
list[0].Name = "MyStruct42"; //CS1612

 

์›์ธ

: ๊ตฌ์กฐ์ฒด๋ฅผ ๋‹ด์€ ๋ฆฌ์ŠคํŠธ์—์„œ [0]๊ณผ ๊ฐ™์ด ์ธ๋ฑ์„œ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ ๊ตฌ์กฐ์ฒด๋Š” ๊ฐ’ ํ˜•์‹์ด๋ฏ€๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋“ค์ฒ˜๋Ÿผ ์ฐธ์กฐ ๊ฐ’์ด ์ฃผ์–ด์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณต์‚ฌ๋ณธ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๋ณต์‚ฌ๋ณธ์€ ์‹ค์ œ๋กœ๋Š” ๊ฐ’์ด ์•„๋‹ˆ๋ผ ๋ฉ”์†Œ๋“œ์ด๋‹ค.

class SampleCollection<T>
{
   private T[] arr = new T[100];

   public T this[int i]
   {
      get { return arr[i]; }	// ์ด๋ ‡๊ฒŒ!
      set { arr[i] = value; }
   }
}

์ธ๋ฑ์„œ๋กœ ์ ‘๊ทผํ•œ ๊ฒฐ๊ณผ๋ฌผ์€ ์‚ฌ์‹ค get ํ”„๋กœํผํ‹ฐ๋ฅผ ํ†ตํ•œ return์ด๋ฏ€๋กœ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋˜ ๊ฒƒ.

 

ํ•ด๊ฒฐ

List<myStruct> list = {…};  
MyStruct ms = list[0];  
ms.Name = "MyStruct42";  
list[0] = ms;

: ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ ๋  ์ƒˆ ๊ตฌ์กฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ์š”์†Œ์˜ ๊ฐ’์„ ๊นŠ์€ ๋ณต์‚ฌํ•œ ๋‹ค์Œ, ๊ทธ ๊ตฌ์กฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์–ด์ฃผ๊ธฐ

 

 

์ฐธ์กฐ

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1612?f1url=%3FappId%3Droslyn%26k%3Dk(CS1612) 

https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/indexers/

 

๋Œ“๊ธ€