다음을 통해 공유


형식 제외

이 옵션은 이름 또는 특성 지정자별로 형식을 제외합니다. 정규식을 사용하여 형식 이름을 지정할 수 있습니다.

형식 이름은 정규화된 이름이어야 합니다.

내부(중첩) 클래스는 ‘/’를 외부 클래스와 내부 클래스 사이의 구분 기호로 사용하여 지정됩니다. 예를 들면 다음과 같습니다.

<type name="Library.Class1/NestedClass"/>

특성 지정자는 뱒peclist?특성을 사용하여 선택하거나 선택 취소합니다. "speclist" 특성은 형식에 대한 올바른 특성 지정자를 쉼표로 구분한 목록입니다. 올바른 값은 다음과 같습니다.

abstract
interface
nestedassembly
nestedfamily
nestedfamorassem
nestedprivate
nestedpublic
notpublic
public
sealed
serializable
enum

특성 지정자 앞에 ‘-’가 사용되면 규칙이 무시됩니다. 즉, 지정된 특성이 없는 모든 클래스를 제외합니다. ‘+’는 별도로 지정하지 않아도 됩니다. 이 목록에 포함된 규칙은 논리적으로 서로 AND 관계입니다. 즉, 제외되는 형식 집합은 각 규칙과 일치하는 모든 형식의 교집합입니다. 예를 들어, 다음 규칙은 public인 동시에 sealed인 형식을 제외합니다.

<type name=?*?speclist=?public,+sealed?regex=봳rue?>

필드와 필드 내의 메서드 제외에 대한 규칙을 지정하기 위해 형식을 선택할 때도 <type> 요소를 사용할 수 있습니다. 그러면 멤버 이름을 유지하면서 형식 이름을 바꿀 수 있습니다. 이를 위해 선택적 밻xcludetype?특성이 사용됩니다. 특성을 지정하지 않을 경우 기본값은 뱓rue뵹? 형식 이름이 제외됩니다.

<type name="MyCo.Test.MyOtherTest" excludetype="false">
 <!-- methods and fields excluded here -->
 ...
</type>

<type> 요소에 중첩된 필드나 메서드 요소가 들어 있지 않으면 제외할 메서드와 필드가 선택되지 않습니다. 따라서 멤버의 이름을 바꾸면서 형식 이름을 유지할 수 있습니다.

제외된 형식의 속성 및 이벤트 이름도 유지됩니다. 형식이 제외되지 않고 라이브러리 옵션이 설정되어 있지 않으면 Dotfuscator가 속성 및 이벤트 이름을 제거합니다.

© 2002-2007 PreEmptive Solutions. All rights reserved.