本文整理汇总了C#中Serializer.CreateChecksum方法的典型用法代码示例。如果您正苦于以下问题:C# Serializer.CreateChecksum方法的具体用法?C# Serializer.CreateChecksum怎么用?C# Serializer.CreateChecksum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Serializer
的用法示例。
在下文中一共展示了Serializer.CreateChecksum方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CloneAssetAsync
private static async Task<RemotableData> CloneAssetAsync(Serializer serializer, RemotableData asset)
{
using (var stream = SerializableBytes.CreateWritableStream())
using (var writer = new ObjectWriter(stream))
{
await asset.WriteObjectToAsync(writer, CancellationToken.None).ConfigureAwait(false);
stream.Position = 0;
using (var reader = new ObjectReader(stream))
{
var recovered = serializer.Deserialize<object>(asset.Kind, reader, CancellationToken.None);
var assetFromStorage = SolutionAsset.Create(serializer.CreateChecksum(recovered, CancellationToken.None), recovered, serializer);
Assert.Equal(asset.Checksum, assetFromStorage.Checksum);
return assetFromStorage;
}
}
}
示例2: EmptyAssetChecksumTest
public async Task EmptyAssetChecksumTest()
{
var document = new AdhocWorkspace().CurrentSolution.AddProject("empty", "empty", LanguageNames.CSharp).AddDocument("empty", SourceText.From(""));
var serializer = new Serializer(document.Project.Solution.Workspace.Services);
var source = serializer.CreateChecksum(await document.GetTextAsync().ConfigureAwait(false), CancellationToken.None);
var metadata = serializer.CreateChecksum(new MissingMetadataReference(), CancellationToken.None);
var analyzer = serializer.CreateChecksum(new AnalyzerFileReference("missing", new MissingAnalyzerLoader()), CancellationToken.None);
Assert.NotEqual(source, metadata);
Assert.NotEqual(source, analyzer);
Assert.NotEqual(metadata, analyzer);
}
示例3: Missing_Analyzer_Serailization_Desktop_Test
public async Task Missing_Analyzer_Serailization_Desktop_Test()
{
var hostServices = MefHostServices.Create(
MefHostServices.DefaultAssemblies.Add(typeof(Host.TemporaryStorageServiceFactory.TemporaryStorageService).Assembly));
var workspace = new AdhocWorkspace(hostServices);
var serializer = new Serializer(workspace.Services);
var reference = new AnalyzerFileReference("missing_reference", new MissingAnalyzerLoader());
// make sure this doesn't throw
var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);
var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
}
示例4: Missing_Analyzer_Serailization_Test
public async Task Missing_Analyzer_Serailization_Test()
{
var workspace = new AdhocWorkspace();
var serializer = new Serializer(workspace.Services);
var reference = new AnalyzerFileReference("missing_reference", new MissingAnalyzerLoader());
// make sure this doesn't throw
var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);
var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
}
示例5: MetadataReference_RoundTrip_Test
public async Task MetadataReference_RoundTrip_Test()
{
var hostServices = MefHostServices.Create(
MefHostServices.DefaultAssemblies.Add(typeof(Host.TemporaryStorageServiceFactory.TemporaryStorageService).Assembly));
var workspace = new AdhocWorkspace(hostServices);
var reference = MetadataReference.CreateFromFile(typeof(object).Assembly.Location);
var serializer = new Serializer(workspace.Services);
var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);
var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
}
示例6: RoundTrip_Analyzer_Serailization_Test
public async Task RoundTrip_Analyzer_Serailization_Test()
{
var workspace = new AdhocWorkspace();
var serializer = new Serializer(workspace);
var reference = new AnalyzerFileReference(typeof(object).Assembly.Location, new MockShadowCopyAnalyzerAssemblyLoader());
// make sure this doesn't throw
var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);
var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
}