1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Diagnostics.Contracts</name>
7 <member name="T:System.Diagnostics.Contracts.Contract">
8 <summary>包含表示程式合約的靜態方法,例如前置條件、後置條件及物件非變異。</summary>
10 <member name="M:System.Diagnostics.Contracts.Contract.Assert(System.Boolean)">
11 <summary>檢查條件,且如果條件為 false,則遵循已為分析器設定的擴大原則。</summary>
12 <param name="condition">要測試的條件運算式。</param>
14 <member name="M:System.Diagnostics.Contracts.Contract.Assert(System.Boolean,System.String)">
15 <summary>檢查條件。如果條件為 false,則遵循分析器所設定的擴大原則,並顯示指定的訊息。</summary>
16 <param name="condition">要測試的條件運算式。</param>
17 <param name="userMessage">當條件不符合時所顯示的訊息。</param>
19 <member name="M:System.Diagnostics.Contracts.Contract.Assume(System.Boolean)">
20 <summary>指示程式碼分析工具假設指定的條件為 true,即使該條件無法以靜態方式證明永遠是 true 亦然。</summary>
21 <param name="condition">要假設 true 的條件運算式。</param>
23 <member name="M:System.Diagnostics.Contracts.Contract.Assume(System.Boolean,System.String)">
24 <summary>指示程式碼分析工具假設條件為 true,即使該條件無法以靜態方式證明永遠是 true 亦然,同時在假設失敗時顯示訊息。</summary>
25 <param name="condition">要假設 true 的條件運算式。</param>
26 <param name="userMessage">要在假設失敗時張貼的訊息。</param>
28 <member name="E:System.Diagnostics.Contracts.Contract.ContractFailed">
29 <summary>發生於合約失敗時。</summary>
31 <member name="M:System.Diagnostics.Contracts.Contract.EndContractBlock">
32 <summary>當方法的合約僅包含 if-then-throw 形式的前置條件時,標記合約區段的結尾。</summary>
34 <member name="M:System.Diagnostics.Contracts.Contract.Ensures(System.Boolean)">
35 <summary>指定封入方法或屬性的後置條件合約。</summary>
36 <param name="condition">要測試的條件運算式。運算式可以包含 <see cref="M:System.Diagnostics.Contracts.Contract.OldValue``1(``0)" />、<see cref="M:System.Diagnostics.Contracts.Contract.ValueAtReturn``1(``0@)" /> 及 <see cref="M:System.Diagnostics.Contracts.Contract.Result``1" /> 值。</param>
38 <member name="M:System.Diagnostics.Contracts.Contract.Ensures(System.Boolean,System.String)">
39 <summary>為提供的結束條件指定後置條件合約,以及在條件為 false 時所要顯示的訊息。</summary>
40 <param name="condition">要測試的條件運算式。運算式可以包含 <see cref="M:System.Diagnostics.Contracts.Contract.OldValue``1(``0)" /> 和 <see cref="M:System.Diagnostics.Contracts.Contract.Result``1" /> 值。</param>
41 <param name="userMessage">當運算式不是 true 時所顯示的訊息。</param>
43 <member name="M:System.Diagnostics.Contracts.Contract.EnsuresOnThrow``1(System.Boolean)">
44 <summary>根據所提供的例外狀況和條件,針對封入方法或屬性指定後置條件合約。</summary>
45 <param name="condition">要測試的條件運算式。</param>
46 <typeparam name="TException">例外狀況類型,其會叫用後置條件檢查。</typeparam>
48 <member name="M:System.Diagnostics.Contracts.Contract.EnsuresOnThrow``1(System.Boolean,System.String)">
49 <summary>根據所提供之例外狀況和條件,針對封入方法或屬性來指定後置條件合約,和當條件是 false 時顯示的訊息。</summary>
50 <param name="condition">要測試的條件運算式。</param>
51 <param name="userMessage">如果運算式為 false 時所顯示的訊息。</param>
52 <typeparam name="TException">例外狀況類型,其會叫用後置條件檢查。</typeparam>
54 <member name="M:System.Diagnostics.Contracts.Contract.Exists``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
55 <summary>判斷項目集合內的項目是否出現在函式中。</summary>
56 <returns>只有在 <paramref name="predicate" /> 為 <paramref name="collection" /> 中任何 <paramref name="T" /> 類型之元素傳回 true 時,才為 true。</returns>
57 <param name="collection">將從中取出 <paramref name="T" /> 類型的項目以傳遞至 <paramref name="predicate" /> 的集合。</param>
58 <param name="predicate">要評估 <paramref name="collection" /> 中元素的函式。</param>
59 <typeparam name="T">包含在 <paramref name="collection" /> 中的類型。</typeparam>
60 <exception cref="T:System.ArgumentNullException">
61 <paramref name="collection" /> or <paramref name="predicate" /> is null.</exception>
63 <member name="M:System.Diagnostics.Contracts.Contract.Exists(System.Int32,System.Int32,System.Predicate{System.Int32})">
64 <summary>判斷整數範圍內是否有任何整數使指定的測試成立。</summary>
65 <returns>如果 <paramref name="predicate" /> 為從 <paramref name="fromInclusive" /> 開始到 <paramref name="toExclusive" /> - 1 的任何整數傳回 true,則為 true。</returns>
66 <param name="fromInclusive">要傳遞至 <paramref name="predicate" /> 的第一個整數。</param>
67 <param name="toExclusive">要傳遞至 <paramref name="predicate" /> 的最後一個整數加一。</param>
68 <param name="predicate">要評估指定範圍內任何整數值的函式。</param>
69 <exception cref="T:System.ArgumentNullException">
70 <paramref name="predicate" /> is null.</exception>
71 <exception cref="T:System.ArgumentException">
72 <paramref name="toExclusive " />is less than <paramref name="fromInclusive" />.</exception>
74 <member name="M:System.Diagnostics.Contracts.Contract.ForAll``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
75 <summary>判斷集合內的所有項目是否都出現在函式中。</summary>
76 <returns>只有在 <paramref name="predicate" /> 為 <paramref name="collection" /> 中所有 <paramref name="T" /> 類型的元素傳回 true 時,才為 true。</returns>
77 <param name="collection">將從中取出 <paramref name="T" /> 類型的項目以傳遞至 <paramref name="predicate" /> 的集合。</param>
78 <param name="predicate">要評估 <paramref name="collection" /> 中所有元素是否存在的函式。</param>
79 <typeparam name="T">包含在 <paramref name="collection" /> 中的類型。</typeparam>
80 <exception cref="T:System.ArgumentNullException">
81 <paramref name="collection" /> or <paramref name="predicate" /> is null.</exception>
83 <member name="M:System.Diagnostics.Contracts.Contract.ForAll(System.Int32,System.Int32,System.Predicate{System.Int32})">
84 <summary>判斷特定條件對於指定之範圍內的所有整數是否有效。</summary>
85 <returns>如果 <paramref name="predicate" /> 為從 <paramref name="fromInclusive" /> 開始到 <paramref name="toExclusive" /> - 1 的所有整數傳回 true,則為 true。</returns>
86 <param name="fromInclusive">要傳遞至 <paramref name="predicate" /> 的第一個整數。</param>
87 <param name="toExclusive">要傳遞至 <paramref name="predicate" /> 的最後一個整數加一。</param>
88 <param name="predicate">要評估指定範圍中整數是否存在的函式。</param>
89 <exception cref="T:System.ArgumentNullException">
90 <paramref name="predicate" /> is null.</exception>
91 <exception cref="T:System.ArgumentException">
92 <paramref name="toExclusive " />is less than <paramref name="fromInclusive" />.</exception>
94 <member name="M:System.Diagnostics.Contracts.Contract.Invariant(System.Boolean)">
95 <summary>指定封入方法或屬性的非變異合約。</summary>
96 <param name="condition">要測試的條件運算式。</param>
98 <member name="M:System.Diagnostics.Contracts.Contract.Invariant(System.Boolean,System.String)">
99 <summary>指定封入方法或屬性的非變異合約,並在合約的條件失敗時顯示訊息。</summary>
100 <param name="condition">要測試的條件運算式。</param>
101 <param name="userMessage">如果條件為 false 時所顯示的訊息。</param>
103 <member name="M:System.Diagnostics.Contracts.Contract.OldValue``1(``0)">
104 <summary>表示其在方法或屬性開始時的值。</summary>
105 <returns>在方法或屬性開始時之欄位或參數的值。</returns>
106 <param name="value">要表示的值 (欄位或參數)。</param>
107 <typeparam name="T">值的類型。</typeparam>
109 <member name="M:System.Diagnostics.Contracts.Contract.Requires``1(System.Boolean)">
110 <summary>指定封入方法或屬性的前置條件合約,並在合約的條件失敗時擲回例外狀況。</summary>
111 <param name="condition">要測試的條件運算式。</param>
112 <typeparam name="TException">當條件為 false 時所要擲回的例外狀況。</typeparam>
114 <member name="M:System.Diagnostics.Contracts.Contract.Requires(System.Boolean)">
115 <summary>指定封入方法或屬性的前置條件合約。</summary>
116 <param name="condition">要測試的條件運算式。</param>
118 <member name="M:System.Diagnostics.Contracts.Contract.Requires(System.Boolean,System.String)">
119 <summary>指定封入方法或屬性的前置條件合約,並在合約的條件失敗時顯示訊息。</summary>
120 <param name="condition">要測試的條件運算式。</param>
121 <param name="userMessage">如果條件為 false 時所顯示的訊息。</param>
123 <member name="M:System.Diagnostics.Contracts.Contract.Requires``1(System.Boolean,System.String)">
124 <summary>指定封入方法或屬性的前置條件合約,並在合約的條件失敗時擲回包含所提供訊息的例外狀況。</summary>
125 <param name="condition">要測試的條件運算式。</param>
126 <param name="userMessage">如果條件為 false 時所顯示的訊息。</param>
127 <typeparam name="TException">當條件為 false 時所要擲回的例外狀況。</typeparam>
129 <member name="M:System.Diagnostics.Contracts.Contract.Result``1">
130 <summary>表示方法或屬性的傳回值。</summary>
131 <returns>封入方法或屬性的傳回值。</returns>
132 <typeparam name="T">封入方法或屬性的傳回值類型。</typeparam>
134 <member name="M:System.Diagnostics.Contracts.Contract.ValueAtReturn``1(``0@)">
135 <summary>表示從方法傳回時的最後 (輸出) out 參數值。</summary>
136 <returns>out 參數的輸出值。</returns>
137 <param name="value">out 參數。</param>
138 <typeparam name="T">out 參數的類型。</typeparam>
140 <member name="T:System.Diagnostics.Contracts.ContractAbbreviatorAttribute">
141 <summary>定義可以取代完整合約語法的縮寫。</summary>
143 <member name="M:System.Diagnostics.Contracts.ContractAbbreviatorAttribute.#ctor">
144 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractAbbreviatorAttribute" /> 類別的新執行個體。</summary>
146 <member name="T:System.Diagnostics.Contracts.ContractArgumentValidatorAttribute">
147 <summary>可讓您將舊版 if-then-throw 程式碼分成不同的方法以供重複使用,並讓您完整控制擲回的例外狀況和引數。</summary>
149 <member name="M:System.Diagnostics.Contracts.ContractArgumentValidatorAttribute.#ctor">
150 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractArgumentValidatorAttribute" /> 類別的新執行個體。</summary>
152 <member name="T:System.Diagnostics.Contracts.ContractClassAttribute">
153 <summary>指定不同的型別包含此型別的程式碼合約。</summary>
155 <member name="M:System.Diagnostics.Contracts.ContractClassAttribute.#ctor(System.Type)">
156 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractClassAttribute" /> 類別的新執行個體。</summary>
157 <param name="typeContainingContracts">型別,包含這個型別的程式碼合約。</param>
159 <member name="P:System.Diagnostics.Contracts.ContractClassAttribute.TypeContainingContracts">
160 <summary>取得型別,此型別包含這個型別的程式碼合約。</summary>
161 <returns>型別,包含這個型別的程式碼合約。</returns>
163 <member name="T:System.Diagnostics.Contracts.ContractClassForAttribute">
164 <summary>指定類別是某個型別的合約。</summary>
166 <member name="M:System.Diagnostics.Contracts.ContractClassForAttribute.#ctor(System.Type)">
167 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractClassForAttribute" /> 類別的新執行個體,指定目前類別為其合約的型別。</summary>
168 <param name="typeContractsAreFor">目前類別為其合約的型別。</param>
170 <member name="P:System.Diagnostics.Contracts.ContractClassForAttribute.TypeContractsAreFor">
171 <summary>取得型別,即其中要套用此程式碼合約的型別。</summary>
172 <returns>其中要套用此程式碼合約的型別。</returns>
174 <member name="T:System.Diagnostics.Contracts.ContractFailedEventArgs">
175 <summary>提供 <see cref="E:System.Diagnostics.Contracts.Contract.ContractFailed" /> 事件的方法與資料。</summary>
177 <member name="M:System.Diagnostics.Contracts.ContractFailedEventArgs.#ctor(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception)">
178 <summary>提供 <see cref="E:System.Diagnostics.Contracts.Contract.ContractFailed" /> 事件的資料。</summary>
179 <param name="failureKind">一個列舉值,指定失敗的合約。</param>
180 <param name="message">事件的訊息。</param>
181 <param name="condition">事件的條件。</param>
182 <param name="originalException">造成事件的例外狀況。</param>
184 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Condition">
185 <summary>取得合約失敗的條件。</summary>
186 <returns>失敗的條件。</returns>
188 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.FailureKind">
189 <summary>取得失敗的合約類型。</summary>
190 <returns>一個列舉值,指定失敗之合約的型別。</returns>
192 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Handled">
193 <summary>表示是否已處理 <see cref="E:System.Diagnostics.Contracts.Contract.ContractFailed" /> 事件。</summary>
194 <returns>如果已處理事件則為 true,否則為 false。</returns>
196 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Message">
197 <summary>取得描述 <see cref="E:System.Diagnostics.Contracts.Contract.ContractFailed" /> 事件的訊息。</summary>
198 <returns>描述事件的訊息。</returns>
200 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.OriginalException">
201 <summary>取得造成 <see cref="E:System.Diagnostics.Contracts.Contract.ContractFailed" /> 事件的原始例外狀況。</summary>
202 <returns>造成事件的例外狀況。</returns>
204 <member name="M:System.Diagnostics.Contracts.ContractFailedEventArgs.SetHandled">
205 <summary>將 <see cref="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Handled" /> 屬性設定為 true。</summary>
207 <member name="M:System.Diagnostics.Contracts.ContractFailedEventArgs.SetUnwind">
208 <summary>將 <see cref="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Unwind" /> 屬性設定為 true。</summary>
210 <member name="P:System.Diagnostics.Contracts.ContractFailedEventArgs.Unwind">
211 <summary>指出是否應該套用程式碼合約擴大原則。</summary>
212 <returns>true 表示要套用擴大原則,否則為 false。預設為 false。</returns>
214 <member name="T:System.Diagnostics.Contracts.ContractFailureKind">
215 <summary>指定失敗的合約類型。</summary>
217 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.Assert">
219 <see cref="Overload:System.Diagnostics.Contracts.Contract.Assert" /> 合約失敗。</summary>
221 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.Assume">
223 <see cref="Overload:System.Diagnostics.Contracts.Contract.Assume" /> 合約失敗。</summary>
225 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.Invariant">
227 <see cref="Overload:System.Diagnostics.Contracts.Contract.Invariant" /> 合約失敗。</summary>
229 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.Postcondition">
231 <see cref="Overload:System.Diagnostics.Contracts.Contract.Ensures" /> 合約失敗。</summary>
233 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.PostconditionOnException">
235 <see cref="Overload:System.Diagnostics.Contracts.Contract.EnsuresOnThrow" /> 合約失敗。</summary>
237 <member name="F:System.Diagnostics.Contracts.ContractFailureKind.Precondition">
239 <see cref="Overload:System.Diagnostics.Contracts.Contract.Requires" /> 合約失敗。</summary>
241 <member name="T:System.Diagnostics.Contracts.ContractInvariantMethodAttribute">
242 <summary>將方法標示為類別的非變異方法。</summary>
244 <member name="M:System.Diagnostics.Contracts.ContractInvariantMethodAttribute.#ctor">
245 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractInvariantMethodAttribute" /> 類別的新執行個體。</summary>
247 <member name="T:System.Diagnostics.Contracts.ContractOptionAttribute">
248 <summary>可讓您以組件、型別或方法的資料粒度設定合約及工具選項。</summary>
250 <member name="M:System.Diagnostics.Contracts.ContractOptionAttribute.#ctor(System.String,System.String,System.Boolean)">
251 <summary>使用提供的分類、設定和啟用/停用值,初始化 <see cref="T:System.Diagnostics.Contracts.ContractOptionAttribute" /> 類別的新執行個體。</summary>
252 <param name="category">要設定其選項的分類。</param>
253 <param name="setting">選項設定。</param>
254 <param name="enabled">true 表示要啟用選項,false 表示要停用選項。</param>
256 <member name="M:System.Diagnostics.Contracts.ContractOptionAttribute.#ctor(System.String,System.String,System.String)">
257 <summary>使用提供的分類、設定和值,初始化 <see cref="T:System.Diagnostics.Contracts.ContractOptionAttribute" /> 類別的新執行個體。</summary>
258 <param name="category">要設定之選項的分類。</param>
259 <param name="setting">選項設定。</param>
260 <param name="value">設定的值。</param>
262 <member name="P:System.Diagnostics.Contracts.ContractOptionAttribute.Category">
263 <summary>取得選項的分類。</summary>
264 <returns>選項的分類。</returns>
266 <member name="P:System.Diagnostics.Contracts.ContractOptionAttribute.Enabled">
267 <summary>判斷是否選項已啟用。</summary>
268 <returns>如果已啟用此選項,則為 true,否則為 false。</returns>
270 <member name="P:System.Diagnostics.Contracts.ContractOptionAttribute.Setting">
271 <summary>取得選項的設定。</summary>
272 <returns>選項的設定值。</returns>
274 <member name="P:System.Diagnostics.Contracts.ContractOptionAttribute.Value">
275 <summary>取得選項的值。</summary>
276 <returns>選項的值。</returns>
278 <member name="T:System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute">
279 <summary>指定當欄位的可視性比方法還低時,可在方法合約中使用的欄位。</summary>
281 <member name="M:System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute.#ctor(System.String)">
282 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute" /> 類別的新執行個體。</summary>
283 <param name="name">要套用至欄位的屬性名稱。</param>
285 <member name="P:System.Diagnostics.Contracts.ContractPublicPropertyNameAttribute.Name">
286 <summary>取得要套用至欄位的屬性名稱。</summary>
287 <returns>要套用至欄位的屬性名稱。</returns>
289 <member name="T:System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute">
290 <summary>指定組件是包含合約的參考組件。</summary>
292 <member name="M:System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute.#ctor">
293 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractReferenceAssemblyAttribute" /> 類別的新執行個體。</summary>
295 <member name="T:System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute">
296 <summary>識別沒有執行階段行為的成員。</summary>
298 <member name="M:System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute.#ctor">
299 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractRuntimeIgnoredAttribute" /> 類別的新執行個體。</summary>
301 <member name="T:System.Diagnostics.Contracts.ContractVerificationAttribute">
302 <summary>指示分析工具不執行靜態驗證便假設組件、型別或成員的正確性。</summary>
304 <member name="M:System.Diagnostics.Contracts.ContractVerificationAttribute.#ctor(System.Boolean)">
305 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.ContractVerificationAttribute" /> 類別的新執行個體。</summary>
306 <param name="value">true 表示需要驗證,否則為 false。</param>
308 <member name="P:System.Diagnostics.Contracts.ContractVerificationAttribute.Value">
309 <summary>取得指出是否要驗證目標合約的值。</summary>
310 <returns>如果需要驗證則為 true,否則為 false。</returns>
312 <member name="T:System.Diagnostics.Contracts.PureAttribute">
313 <summary>指出型別或方法是純正的,也就是它不會執行任何可見的狀態變更。</summary>
315 <member name="M:System.Diagnostics.Contracts.PureAttribute.#ctor">
316 <summary>初始化 <see cref="T:System.Diagnostics.Contracts.PureAttribute" /> 類別的新執行個體。</summary>
318 <member name="T:System.Runtime.CompilerServices.ContractHelper">
319 <summary>提供方法,即二進位重寫器用來處理合約失敗的方法。</summary>
321 <member name="M:System.Runtime.CompilerServices.ContractHelper.RaiseContractFailedEvent(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception)">
322 <summary>由二進位重寫器用來啟動預設失敗行為。</summary>
323 <returns>如果已處理該事件且應該不會觸發失敗,則為 Null 參考 (在 Visual Basic 中的 Nothing),否則會傳回當地語系化的失敗訊息。</returns>
324 <param name="failureKind">其中一個列舉值,這個值指定失敗的類型。</param>
325 <param name="userMessage">其他使用者資訊。</param>
326 <param name="conditionText">造成失敗的條件描述。</param>
327 <param name="innerException">造成目前例外狀況的內部例外狀況。</param>
328 <exception cref="T:System.ArgumentException">
329 <paramref name="failureKind" /> 不是有效的 <see cref="T:System.Diagnostics.Contracts.ContractFailureKind" /> 值。</exception>
331 <member name="M:System.Runtime.CompilerServices.ContractHelper.TriggerFailure(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception)">
332 <summary>觸發預設的失敗行為。</summary>
333 <param name="kind">其中一個列舉值,這個值指定失敗的類型。</param>
334 <param name="displayMessage">要顯示的訊息。</param>
335 <param name="userMessage">其他使用者資訊。</param>
336 <param name="conditionText">造成失敗的條件描述。</param>
337 <param name="innerException">造成目前例外狀況的內部例外狀況。</param>