-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
DateTimeValueSerializer.xml
272 lines (258 loc) · 18 KB
/
DateTimeValueSerializer.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<Type Name="DateTimeValueSerializer" FullName="System.Windows.Markup.DateTimeValueSerializer">
<TypeSignature Language="C#" Value="public class DateTimeValueSerializer : System.Windows.Markup.ValueSerializer" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DateTimeValueSerializer extends System.Windows.Markup.ValueSerializer" />
<TypeSignature Language="DocId" Value="T:System.Windows.Markup.DateTimeValueSerializer" />
<TypeSignature Language="VB.NET" Value="Public Class DateTimeValueSerializer
Inherits ValueSerializer" />
<TypeSignature Language="F#" Value="type DateTimeValueSerializer = class
 inherit ValueSerializer" />
<TypeSignature Language="C++ CLI" Value="public ref class DateTimeValueSerializer : System::Windows::Markup::ValueSerializer" />
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="WindowsBase" FromVersion="4.0.0.0" To="System.Xaml" ToVersion="4.0.0.0" FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;windowsdesktop-3.0;windowsdesktop-3.1" />
<TypeForwarding From="WindowsBase" FromVersion="5.0.0.0" To="System.Xaml" ToVersion="5.0.0.0" FrameworkAlternate="windowsdesktop-5.0" />
<TypeForwarding From="WindowsBase" FromVersion="6.0.0.0" To="System.Xaml" ToVersion="6.0.0.0" FrameworkAlternate="windowsdesktop-6.0" />
<TypeForwarding From="WindowsBase" FromVersion="7.0.0.0" To="System.Xaml" ToVersion="7.0.0.0" FrameworkAlternate="windowsdesktop-7.0" />
<TypeForwarding From="WindowsBase" FromVersion="8.0.0.0" To="System.Xaml" ToVersion="8.0.0.0" FrameworkAlternate="windowsdesktop-8.0" />
<TypeForwarding From="WindowsBase" FromVersion="9.0.0.0" To="System.Xaml" ToVersion="9.0.0.0" FrameworkAlternate="windowsdesktop-9.0" />
</TypeForwardingChain>
<Base>
<BaseTypeName>System.Windows.Markup.ValueSerializer</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1">
<AttributeName Language="C#">[System.Runtime.CompilerServices.TypeForwardedFrom("WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.TypeForwardedFrom("WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Converts instances of <see cref="T:System.String" /> to and from instances of <see cref="T:System.DateTime" />.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
<xref:System.Windows.Markup.ValueSerializer> is used rather than <xref:System.ComponentModel.TypeConverter> for cases where type conversion requires additional state. <xref:System.Windows.Markup.DateTimeValueSerializer> is not attributed to a type with <xref:System.Windows.Markup.ValueSerializerAttribute>. This is because <xref:System.DateTime> is in mscorlib, and mscorlib cannot take dependencies on attribute classes that it does not define itself. Instead, usage of <xref:System.Windows.Markup.DateTimeValueSerializer> is special-cased into XAML processor behavior in .NET Framework XAML Services behavior.
In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In .NET Framework 4, <xref:System.Windows.Markup.DateTimeValueSerializer> is in the System.Xaml assembly. See [Types Migrated from WPF to System.Xaml](/dotnet/framework/xaml-services/types-migrated-from-wpf-to-system-xaml).
]]></format>
</remarks>
<altmember cref="T:System.Windows.Markup.Primitives.MarkupWriter" />
<altmember cref="T:System.DateTime" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DateTimeValueSerializer ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Markup.DateTimeValueSerializer.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 DateTimeValueSerializer();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Windows.Markup.DateTimeValueSerializer" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CanConvertFromString">
<MemberSignature Language="C#" Value="public override bool CanConvertFromString (string value, System.Windows.Markup.IValueSerializerContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool CanConvertFromString(string value, class System.Windows.Markup.IValueSerializerContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Markup.DateTimeValueSerializer.CanConvertFromString(System.String,System.Windows.Markup.IValueSerializerContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function CanConvertFromString (value As String, context As IValueSerializerContext) As Boolean" />
<MemberSignature Language="F#" Value="override this.CanConvertFromString : string * System.Windows.Markup.IValueSerializerContext -> bool" Usage="dateTimeValueSerializer.CanConvertFromString (value, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override bool CanConvertFromString(System::String ^ value, System::Windows::Markup::IValueSerializerContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.String" />
<Parameter Name="context" Type="System.Windows.Markup.IValueSerializerContext" />
</Parameters>
<Docs>
<param name="value">The string to evaluate for conversion.</param>
<param name="context">Context information that is used for conversion.</param>
<summary>Determines if the specified <see cref="T:System.String" /> can be convert to an instance of <see cref="T:System.DateTime" />.</summary>
<returns>
<see langword="true" /> if the value can be converted; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This implementation always returns `true`.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CanConvertToString">
<MemberSignature Language="C#" Value="public override bool CanConvertToString (object value, System.Windows.Markup.IValueSerializerContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool CanConvertToString(object value, class System.Windows.Markup.IValueSerializerContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Markup.DateTimeValueSerializer.CanConvertToString(System.Object,System.Windows.Markup.IValueSerializerContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function CanConvertToString (value As Object, context As IValueSerializerContext) As Boolean" />
<MemberSignature Language="F#" Value="override this.CanConvertToString : obj * System.Windows.Markup.IValueSerializerContext -> bool" Usage="dateTimeValueSerializer.CanConvertToString (value, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override bool CanConvertToString(System::Object ^ value, System::Windows::Markup::IValueSerializerContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Object" />
<Parameter Name="context" Type="System.Windows.Markup.IValueSerializerContext" />
</Parameters>
<Docs>
<param name="value">The object to evaluate for conversion.</param>
<param name="context">Context information that is used for conversion.</param>
<summary>Determines if the specified object can be converted to a <see cref="T:System.String" />.</summary>
<returns>
<see langword="true" /> if <paramref name="value" /> can be converted into a <see cref="T:System.String" />; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This implementation returns `true` only if the passed `value` is of type <xref:System.DateTime>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="ConvertFromString">
<MemberSignature Language="C#" Value="public override object ConvertFromString (string value, System.Windows.Markup.IValueSerializerContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance object ConvertFromString(string value, class System.Windows.Markup.IValueSerializerContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Markup.DateTimeValueSerializer.ConvertFromString(System.String,System.Windows.Markup.IValueSerializerContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ConvertFromString (value As String, context As IValueSerializerContext) As Object" />
<MemberSignature Language="F#" Value="override this.ConvertFromString : string * System.Windows.Markup.IValueSerializerContext -> obj" Usage="dateTimeValueSerializer.ConvertFromString (value, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::Object ^ ConvertFromString(System::String ^ value, System::Windows::Markup::IValueSerializerContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.String" />
<Parameter Name="context" Type="System.Windows.Markup.IValueSerializerContext" />
</Parameters>
<Docs>
<param name="value">The string to convert into a <see cref="T:System.DateTime" />.</param>
<param name="context">Context information that is used for conversion.</param>
<summary>Converts a <see cref="T:System.String" /> into a <see cref="T:System.DateTime" />.</summary>
<returns>A new instance of <see cref="T:System.DateTime" /> based on the supplied <paramref name="value" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
An empty string returns <xref:System.DateTime.MinValue?displayProperty=nameWithType>.
The current implementation uses <xref:System.DateTime.Parse%2A> internally, and also uses the following <xref:System.Globalization.DateTimeStyles>: `DateTimeStyles.RoundtripKind | DateTimeStyles.NoCurrentDateDefault | DateTimeStyles.AllowLeadingWhite | DateTimeStyles.AllowTrailingWhite`.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">
<paramref name="value" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="ConvertToString">
<MemberSignature Language="C#" Value="public override string ConvertToString (object value, System.Windows.Markup.IValueSerializerContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ConvertToString(object value, class System.Windows.Markup.IValueSerializerContext context) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Markup.DateTimeValueSerializer.ConvertToString(System.Object,System.Windows.Markup.IValueSerializerContext)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ConvertToString (value As Object, context As IValueSerializerContext) As String" />
<MemberSignature Language="F#" Value="override this.ConvertToString : obj * System.Windows.Markup.IValueSerializerContext -> string" Usage="dateTimeValueSerializer.ConvertToString (value, context)" />
<MemberSignature Language="C++ CLI" Value="public:
 override System::String ^ ConvertToString(System::Object ^ value, System::Windows::Markup::IValueSerializerContext ^ context);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Xaml</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>WindowsBase</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.Object" />
<Parameter Name="context" Type="System.Windows.Markup.IValueSerializerContext" />
</Parameters>
<Docs>
<param name="value">The object to convert into a string.</param>
<param name="context">Context information that is used for conversion.</param>
<summary>Converts an instance of <see cref="T:System.DateTime" /> to a <see cref="T:System.String" />.</summary>
<returns>A string representation of the specified <see cref="T:System.DateTime" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
`context` is not used by this implementation.
String representations for dates as found in XAML value processing are based on the `en-US` culture. This is because XAML processing for culture-sensitive information is split conceptually between compile-time and run-time phases and must use a known string representation throughout. For more information, see [WPF Globalization and Localization Overview](/dotnet/framework/wpf/advanced/wpf-globalization-and-localization-overview).
The current implementation uses a format string that is adjusted depending on whether aspects of the supplied <xref:System.DateTime> have values. For example, if there is no value in <xref:System.TimeSpan.TotalSeconds%2A>, the format string is in the form `yyyy-MM-dd` rather than writing out full-verbosity zero values for the time component.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">
<paramref name="value" /> is not a <see cref="T:System.DateTime" /> or is <see langword="null" />.</exception>
</Docs>
</Member>
</Members>
</Type>