구조 개편중이라 기능별 분할중인데  예를들면 

class Program

{

    static void Main()

    {

        int i = 3;

    

        b.Take.mix(() => a.Take.hi(), () => b.Take.hi(i));

    }

}


public void mix(Object ? action1 = null, Object ? action2 = null)

{

    if (action1 is Action)

    {

        a.Take.NextEvent += () => (action2 as Action)?.Invoke();

        (action1 as Action)?.Invoke();

    };


}

이런식으로 함수를 람다식으로 넣어 작동시킬려함  비주얼스튜디오 환경상에선 a.Take.hi() 이걸 람다식으로 오브젝트로 넣을수있는데 

문제는 유니티 환경에서 비슷하게 

UIComposer.Call.lk(() => test()); 이런식으로 선언하면 람다 식은(는) 대리자 형식이 아니므로 'object' 형식으로 변환할 수 없습니다.CS1660 이게뜸


불러오는 함수는 다음과 같음

public void lk(object? action1 = null)

{

    if (action1 is Action action)

    {

        action?.Invoke();

    }


넣은 함수는 단순히 출력만함

public void test()

{

    Debug.Log("test");


}


c#환경에선 람다식으로 함수를 오브젝트에 넣을수있는데 유니티에선 저런식으로 막힘, 이유가있음? .net버전문제인지 뭔지 모르겠음