<?xml version="1.0"?>
<doc>
<assembly>
<name>NLog</name>
</assembly>
<members>
<member name="T:JetBrains.Annotations.CanBeNullAttribute">
<summary>
Indicates that the value of the marked element could be <c>null</c> sometimes,
so the check for <c>null</c> is necessary before its usage.
</summary>
<example><code>
[CanBeNull] object Test() => null;
void UseTest() {
var p = Test();
var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
}
</code></example>
</member>
<member name="T:JetBrains.Annotations.NotNullAttribute">
<summary>
Indicates that the value of the marked element could never be <c>null</c>.
</summary>
<example><code>
[NotNull] object Foo() {
return null; // Warning: Possible 'null' assignment
}
</code></example>
</member>
<member name="T:JetBrains.Annotations.ItemNotNullAttribute">
<summary>
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
or of the Lazy.Value property can never be null.
</summary>
</member>
<member name="T:JetBrains.Annotations.ItemCanBeNullAttribute">
<summary>
Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
and Lazy classes to indicate that the value of a collection item, of the Task.Result property
or of the Lazy.Value property can be null.
</summary>
</member>
<member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
<summary>
Indicates that the marked method builds string by format pattern and (optional) arguments.
Parameter, which contains format string, should be given in constructor. The format string
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form.
</summary>
<example><code>
[StringFormatMethod("message")]
void ShowError(string message, params object[] args) { /* do something */ }
void Foo() {
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
}
</code></example>
</member>
<member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
<param name="formatParameterName">
Specifies which parameter of an annotated method should be treated as format-string
</param>
</member>
<member name="T:JetBrains.Annotations.ValueProviderAttribute">
<summary>
For a parameter that is expected to be one of the limited set of values.
Specify fields of which type should be used as values for this parameter.
</summary>
</member>
<member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
<summary>
Indicates that the function argument should be string literal and match one
of the parameters of the caller function. For example, ReSharper annotates
the parameter of <see cref="T:System.ArgumentNullException"/>.
</summary>
<example><code>
void Foo(string param) {
if (param == null)
throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
}
</code></example>
</member>
<member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
<summary>
Indicates that the method is contained in a type that implements
<c>System.ComponentModel.INotifyPropertyChanged</c> interface and this method
is used to notify that some property value changed.
</summary>
<remarks>
The method should be non-static and conform to one of the supported signatures:
<list>
<item><c>NotifyChanged(string)</c></item>
<item><c>NotifyChanged(params string[])</c></item>
<item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
<item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
<item><c>SetProperty{T}(ref T, T, string)</c></item>
</list>
</remarks>
<example><code>
public class Foo : INotifyPropertyChanged {
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void NotifyChanged(string propertyName) { ... }
string _name;
public string Name {
get { return _name; }
set { _name = value; NotifyChanged("LastName"); /* Warning */ }
}
}
</code>
Examples of generated notifications:
<list>
<item><c>NotifyChanged("Property")</c></item>
<item><c>NotifyChanged(() => Property)</c></item>
<item><c>NotifyChanged((VM x) => x.Property)</c></item>
<item><c>SetProperty(ref myField, value, "Property")</c></item>
</list>
</example>
</member>
<member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
<summary>
Describes dependency between method input and output.
</summary>
<syntax>
<p>Function Definition Table syntax:</p>
<list>
<item>FDT ::= FDTRow [;FDTRow]*</item>
<item>FDTRow ::= Input => Output | Output <= Input</item>
<item>Input ::= ParameterName: Value [, Input]*</item>
<item>Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
<item>Value ::= true | false | null | notnull | canbenull</item>
</list>
If method has single input parameter, it's name could be omitted.<br/>
Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same) for method output
means that the methods doesn't return normally (throws or terminates the process).<br/>
Value <c>canbenull</c> is only applicable for output parameters.<br/>
You can use multiple <c>[ContractAnnotation]</c> for each FDT row, or use single attribute
with rows separated by semicolon. There is no notion of order rows, all rows are checked
for applicability and applied per each program state tracked by R# analysis.<br/>
</syntax>
<examples><list>
<item><code>
[ContractAnnotation("=> halt")]
public void TerminationMethod()
</code></item>
<item><code>
[ContractAnnotation("halt <= condition: false")]
public void Assert(bool condition, string text) // regular assertion method
</code></item>
<item><code>
[ContractAnnotation("s:null => true")]
public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
</code></item>
<item><code>
// A method that returns null if the parameter is null,
// and not null if the parameter is not null
[ContractAnnotation("null => nul
没有合适的资源?快使用搜索试试~ 我知道了~
用VS2017 C# 实现WebSocket的服务端和客户端源码.rar
共1620个文件
xml:606个
_:450个
dll:292个
需积分: 50 37 下载量 175 浏览量
2022-03-19
21:59:57
上传
评论
收藏 48.48MB RAR 举报
温馨提示
用VS2017 C# 实现WebSocket的服务端和客户端源码.rar
资源详情
资源评论
资源推荐
收起资源包目录
用VS2017 C# 实现WebSocket的服务端和客户端源码.rar (1620个子文件)
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
_._ 0B
共 1620 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
HelloKitty19901231
- 粉丝: 555
- 资源: 727
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0