Microsoft MVP성태의 닷넷 이야기
[답변]: CallByName 을 어떻게 처리해야 할지 ....조언 부탁합니다. [링크 복사], [링크+제목 복사],
조회: 11575
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
부모글 보이기/감추기

CallByName 을 그대로 VB.NET 으로 구현하시면 되지 않을까요? VB.NET 에서는 ByRef 예약어가 없어지지 않았을 텐데요.

그리고, ByRef 키워드는 InvokeMember 에 의해서 호출이 되더라도 여전히 유효합니다.
하지만, 그 반영이 원래의 변수에 적용되지는 않습니다.

string txt = "qwer";
int k = 5;

object [] args1 = new object[2] { txt, k };

예를 들어 위와 같은 경우에. 원래의 txt 변수 값은 변하지 않지만, args1[0] 의 값은 변화되어져 있습니다.

따라서, 반드시 기존의 Ref 규칙을 따라야 한다면 다음과 같은 식으로 object [] 에 돌려진 값들을 원래 변수에 적용시켜야 합니다

if ( args1[0] != null )
{
  txt = args1[0];
}








[최초 등록일: ]
[최종 수정일: 6/16/2006]


비밀번호

댓글 작성자
 




NoWriterDateCnt.TitleFile(s)