2013-05-13 4 views
-2

인터넷 검색 중 특정 항목을 찾을 수 없어 이후에 후행으로 추가합니다.다음 메서드 또는 속성 사이에서 호출이 모호합니다. 문자열 및 바이트 [] 입력이 포함 된 오버로드

문제점 :

호는 다음의 방법 또는 속성 간의 모호 'System.Web.HttpUtility.UrlEncode (문자열)'및 'System.Web.HttpUtility.UrlEncode (바이트 [])'

주 :이 문제는 하나 명의 서명과 유사한 특성의 byte []의 문자열을 수락 오버로드 된 메소드 적어도, 특정이다 (위를 UrlEncode 서명 참조).

이 문제는 ASP.NET MVC4를 사용하여 부분적으로 RuntimeBinderException으로 나타나지만 다른 환경에서 발생할 수 있습니다. 중요한 점은 UrlEncode에는 두 개의 오버로드가 있으며 런타임 바인더는 사용할 오버로드를 파악할 수 없다는 것입니다.

+0

정말 혼란 스럽습니까? – Paparazzi

+0

혼란스러워서 모호한 경우 100 % 확실합니다. : D – longda

답변

0

내 솔루션 : 최적이 아닌 올바른 형식으로 입력을 캐스팅하는 것은 올바른 방법 서명이 사용 해결할 수있는 팁의 충분한 런타임 바인더를 제공하는 것 같지만

.

예를 들어 위의 예외를 던진 "실패한"코드는 다음과 같습니다 (MVC4 부분 코드는 계약자의 것이며 이것이 앵커 태그를 만드는 가장 좋은 방법이라고 제안하지는 않습니다. 주조와 약간은 여기 다시

<a rel="nofollow" 
    href="https://twitter.com/share?text=Check%20this%20out!%[email protected](ViewBag.Title)%20 
    @(HttpUtility.UrlEncode(Request.Url.AbsoluteUri))%20%40codinghorror" 
    target="_blank"> 
    twitter 
</a> 

을 그리고 :) 멋지게 특정 문제를 설명

<a rel="nofollow" 
    href="https://twitter.com/share?text=Check%20this%20out!%[email protected](ViewBag.Title)%20 
    @(HttpUtility.UrlEncode((string)Request.Url.AbsoluteUri))%20%40codinghorror" 
    target="_blank"> 
    twitter 
</a> 

을이 수정 한 후, 내가! 충분히 잘못된 페이지 있는지를 다시로드, 휙 일했다.

해피 산책로!

+1

반환 형식이 메서드 서명의 일부가 아니므로 문제가 어떻게 해결되었는지 이해할 수 없습니다. http://stackoverflow.com/questions/8808703/method-signature-in-c-sharp – I4V

+0

안녕하세요, 반환 유형에 대해 이야기하지 않습니다. 과부하에 대한 다양한 입력에 대해 이야기하고 있습니다. 다음은 UrlEncode()에 대한 현재 오버로드 목록입니다. http://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode.aspx – longda

+0

내 말에 오타가 수정되었습니다. – longda

관련 문제