本文整理汇总了C#中Microsoft.Net.Http.Headers.MediaTypeHeaderValue.CopyAsReadOnly方法的典型用法代码示例。如果您正苦于以下问题:C# MediaTypeHeaderValue.CopyAsReadOnly方法的具体用法?C# MediaTypeHeaderValue.CopyAsReadOnly怎么用?C# MediaTypeHeaderValue.CopyAsReadOnly使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Net.Http.Headers.MediaTypeHeaderValue
的用法示例。
在下文中一共展示了MediaTypeHeaderValue.CopyAsReadOnly方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CopyAsReadOnly_SimpleMediaType_CopiedAndReadOnly
public void CopyAsReadOnly_SimpleMediaType_CopiedAndReadOnly()
{
var mediaType0 = new MediaTypeHeaderValue("text/plain");
var mediaType1 = mediaType0.CopyAsReadOnly();
Assert.NotSame(mediaType0, mediaType1);
Assert.Same(mediaType0.MediaType, mediaType1.MediaType);
Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters);
Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count);
Assert.False(mediaType0.IsReadOnly);
Assert.True(mediaType1.IsReadOnly);
Assert.Throws<InvalidOperationException>(() => { mediaType1.MediaType = "some/value"; });
}
示例2: SetMediaTypeMappingForFormat
/// <summary>
/// Sets mapping for the format to specified <see cref="MediaTypeHeaderValue"/>.
/// If the format already exists, the <see cref="MediaTypeHeaderValue"/> will be overwritten with the new value.
/// </summary>
/// <param name="format">The format value.</param>
/// <param name="contentType">The <see cref="MediaTypeHeaderValue"/> for the format value.</param>
public void SetMediaTypeMappingForFormat(string format, MediaTypeHeaderValue contentType)
{
if (format == null)
{
throw new ArgumentNullException(nameof(format));
}
if (contentType == null)
{
throw new ArgumentNullException(nameof(contentType));
}
ValidateContentType(contentType);
format = RemovePeriodIfPresent(format);
_map[format] = contentType.CopyAsReadOnly();
}
示例3: CopyFromReadOnly_WithParameters_CopiedAsNonReadOnly
public void CopyFromReadOnly_WithParameters_CopiedAsNonReadOnly()
{
var mediaType0 = new MediaTypeHeaderValue("text/plain");
mediaType0.Parameters.Add(new NameValueHeaderValue("name", "value"));
var mediaType1 = mediaType0.CopyAsReadOnly();
var mediaType2 = mediaType1.Copy();
Assert.NotSame(mediaType2, mediaType1);
Assert.Same(mediaType2.MediaType, mediaType1.MediaType);
Assert.True(mediaType1.IsReadOnly);
Assert.False(mediaType2.IsReadOnly);
Assert.NotSame(mediaType2.Parameters, mediaType1.Parameters);
Assert.Equal(mediaType2.Parameters.Count, mediaType1.Parameters.Count);
var pair2 = mediaType2.Parameters.First();
var pair1 = mediaType1.Parameters.First();
Assert.NotSame(pair2, pair1);
Assert.True(pair1.IsReadOnly);
Assert.False(pair2.IsReadOnly);
Assert.Same(pair2.Name, pair1.Name);
Assert.Same(pair2.Value, pair1.Value);
}
示例4: CopyAsReadOnly_WithParameters_CopiedAndReadOnly
public void CopyAsReadOnly_WithParameters_CopiedAndReadOnly()
{
var mediaType0 = new MediaTypeHeaderValue("text/plain");
mediaType0.Parameters.Add(new NameValueHeaderValue("name", "value"));
var mediaType1 = mediaType0.CopyAsReadOnly();
Assert.NotSame(mediaType0, mediaType1);
Assert.False(mediaType0.IsReadOnly);
Assert.True(mediaType1.IsReadOnly);
Assert.Same(mediaType0.MediaType, mediaType1.MediaType);
Assert.NotSame(mediaType0.Parameters, mediaType1.Parameters);
Assert.False(mediaType0.Parameters.IsReadOnly);
Assert.True(mediaType1.Parameters.IsReadOnly);
Assert.Equal(mediaType0.Parameters.Count, mediaType1.Parameters.Count);
Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Add(new NameValueHeaderValue("name")));
Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Remove(new NameValueHeaderValue("name")));
Assert.Throws<NotSupportedException>(() => mediaType1.Parameters.Clear());
var pair0 = mediaType0.Parameters.First();
var pair1 = mediaType1.Parameters.First();
Assert.NotSame(pair0, pair1);
Assert.False(pair0.IsReadOnly);
Assert.True(pair1.IsReadOnly);
Assert.Same(pair0.Name, pair1.Name);
Assert.Same(pair0.Value, pair1.Value);
}