문제

나는 공공 시설에서 내 형태의 유형 ListE<T> 위치:

public class ListE<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

네,그것은 입다,그러나 그 디자이너는 위해 요구하는 표시하는 등 편집 가능한 컬렉션에 속성이 창입니다.는 않습니다!그래서를 클릭하면 작은[..]버튼을 편집합니다,다음에 추가를 클릭하여 항목을 추가 컬렉션입니다.

연산 동작의 결과에서 오버플로우가 발생합니다.

지금 이는 매우 기본적인 목록금 보는 확대 배열입니다.의 일부만 가까이 오는산에서 모든 것에 확장 기능과 심지어 사용하는 왼쪽 이동보다는 곱,그렇지 않을 오버플로우가 발생합니다.이 모든 생각을 하게 됐는 이 예외가 제기되고 내부에는 디자이너,아마에 의해 발생하는 몇 가지 작은 부주의를 구현 세부사항에 부분이지만,나는 방법을 찾을 수 없습을 테스트하는 디버그는 시나리오이다.누군가가 어떤 스마트 아이디어가?

편집:그렇다,나는 사용할 수 있는 시설을 성공적으로 잘 심지어는 수동으로,즉,.에 OnLoad 핸들러,그리고 나는 가정의 어떤 나가 리조트에 가입할 수 없을 경우에는 이 작동하지만,없을 것이 이상적입니다.:(

도움이 되었습니까?

해결책

내가 이해할 수 없다 무엇의 동기를 부여할 시도를 재발견 목록<T> 바퀴에서는 방법으로,하지만 당신의 질문에 대답:내가 줄을 추가"시스템입니다.Diagnostics.디버거.휴식()"생성자의 클래스입니다.

다음 사용하려고 그것에서 디자이너,그리고 당신은 팝업이 요구하려는 경우에 당신을 디버거를 연결.첨부의 두 번째 인스턴스 Visual Studio 디버거,그리고 당신은 설정할 수 있 일부 코드의 중단점을 시작하여 디버깅할 수 있습니다.

다른 팁

한 곳을 시작하는 것도 할 수 있다는 것을 수학과 ListE`1::계산을 제공합니다.는 경우에는 미묘한 결함(i.e그것보다 더 복잡하다.innerList.수)그것을 일으키는 원인이 될 수 있는 디자이너를산 오버플로우에는 일부 작업입니다.일반적으로 연산 오버플로우가 발생하지 않는 요청을 사용하여

checked
{
   // ...
}

문입니다.

를 추가하지 않아도 디버거.휴식();통화 코드를 디버깅하십시오.당신이 열 수 있는 다른 인스턴스의 대을 연결하는 하나 당신에 그것을 사용하고 당신이 할 수 있어야하는 디버그 문제없이(단지가 있는지 확인 기호로드).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top