Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Asn1ValueReference.cs
1using System;
2using System.Collections.Generic;
3using System.Text;
4using System.Threading.Tasks;
5
7{
12 {
13 private readonly Asn1Document document;
14 private readonly string identifier;
15
22 {
23 this.identifier = Identifier;
24 this.document = Document;
25 }
26
30 public string Identifier => this.identifier;
31
39 public override Task ExportCSharp(StringBuilder Output, CSharpExportState State,
40 int Indent, CSharpExportPass Pass)
41 {
42 if (Pass == CSharpExportPass.Explicit)
43 {
44 if (this.document.values.TryGetValue(this.identifier, out Asn1FieldValueDefinition ValueDef))
45 {
46 if (ValueDef.Document.Root.Identifier != this.document.Root.Identifier)
47 {
48 Output.Append(ToCSharp(ValueDef.Document.Root.Identifier));
49 Output.Append(".Values.");
50 }
51 }
52
53 Output.Append(ToCSharp(this.identifier));
54 }
55
56 return Task.CompletedTask;
57 }
58 }
59}
Represents an ASN.1 document.
Definition: Asn1Document.cs:21
Represents an ASN.1 field value definition.
Abstract base class for values.
Definition: Asn1Value.cs:11
Asn1ValueReference(string Identifier, Asn1Document Document)
Represents an ASN.1 value reference.
override Task ExportCSharp(StringBuilder Output, CSharpExportState State, int Indent, CSharpExportPass Pass)
Exports to C#
CSharpExportPass
Defines different C# export passes.
Definition: Asn1Node.cs:12