本文整理汇总了C#中Scenario.AddTypedMember方法的典型用法代码示例。如果您正苦于以下问题:C# Scenario.AddTypedMember方法的具体用法?C# Scenario.AddTypedMember怎么用?C# Scenario.AddTypedMember使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Scenario
的用法示例。
在下文中一共展示了Scenario.AddTypedMember方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CompareDimensionOrder
public static void CompareDimensionOrder()
{
var first = new Scenario();
first.AddExplicitMember("AA", "foo:bar");
first.AddExplicitMember("BB", "bar:foo");
first.AddTypedMember("CC", "CA", "aa");
first.AddTypedMember("DD", "DA", "bb");
var second = new Scenario();
second.AddExplicitMember("BB", "bar:foo");
second.AddExplicitMember("AA", "foo:bar");
second.AddTypedMember("DD", "DA", "bb");
second.AddTypedMember("CC", "CA", "aa");
Assert.IsTrue(first.Equals(second));
}
示例2: CreateSolvencyInstance
static Instance CreateSolvencyInstance()
{
// Sets default namespaces and units PURE, EUR
var instance = new Instance();
// When an explicit member is added, check that the namespace for the domain has been set
instance.CheckExplicitMemberDomainExists = true;
// Initialize to the correct framework, module, taxonomy
// The content is NOT validated against taxonomy or module schema
// set module
instance.SchemaReference = new SchemaReference("simple", "http://eiopa.europa.eu/eu/xbrl/s2md/fws/solvency/solvency2/2014-12-23/mod/ars.xsd");
// set taxonomy
instance.TaxonomyVersion = "1.5.2.c";
// "basic" namespaces
// These are used for adding correct prefixes for different elements
instance.SetMetricNamespace("s2md_met", "http://eiopa.europa.eu/xbrl/s2md/dict/met");
instance.SetDimensionNamespace("s2c_dim", "http://eiopa.europa.eu/xbrl/s2c/dict/dim");
instance.SetTypedDomainNamespace("s2c_typ", "http://eiopa.europa.eu/xbrl/s2c/dict/typ");
// Namespaces for actual reported values that belong to a domain (explicit members)
instance.AddDomainNamespace("s2c_CS", "http://eiopa.europa.eu/xbrl/s2c/dict/dom/CS");
instance.AddDomainNamespace("s2c_AM", "http://eiopa.europa.eu/xbrl/s2c/dict/dom/AM");
// Add reporter and period
// These will be reused across all contexts by default
// Scheme or value are NOT validated
instance.Entity = new Entity("http://standards.iso.org/iso/17442", "1234567890ABCDEFGHIJ");
instance.Period = new Period(2014, 12, 31);
// Any units that aren't used will be excluded during serialization
// So it's safe to add extra units if needed
instance.Units.Add("uEUR", "iso4217:EUR");
instance.Units.Add("uPURE", "xbrli:pure");
instance.Units.Add("uFOO", "foo:bar");
// Add filing indicators
// These are NOT validated against actual reported values
instance.AddFilingIndicator("S.01.01");
instance.AddFilingIndicator("S.02.02");
// A scenario contains the dimensions and their values for a datapoint
var scenario = new Scenario();
// Dimensions and domains can be given with or without namespaces
// The namespace prefixes are added internally if needed
// Explicit member values DO NEED the prefix
scenario.AddExplicitMember("CS", "s2c_CS:x26");
scenario.AddTypedMember("CE", "ID", "abc");
// Metrics can also be given with or without namespace
// Metric names, values or decimals are NOT validated
// Unit is NOT checked to exist
instance.AddFact(scenario, "pi545", "uPURE", "4", "0.2547");
// if a scenario with the given values already exists in the instance, it will be reused
// you don't have to check for duplicates
instance.AddFact(scenario, "mi363", "uEUR", "-3", "45345");
// Non - existing unit throws KeyNotFoundException
try
{
instance.AddFact(scenario, "mi363", "uSEK", "-3", "45345");
}
catch (KeyNotFoundException ex)
{
Console.WriteLine(ex.Message);
}
var invalidScenario = new Scenario();
// Member has value with domain that has no corresponding namespace
invalidScenario.AddExplicitMember("CS", "s2c_XA:x0");
try
{
// This can only be observed when the scenario is attached to the instance
// ie. previous line is ok but this one throws
instance.AddFact(invalidScenario, "mi252", "uEUR", "4", "123456");
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.Message);
}
return instance;
}
示例3: WriteEmptyTypedMember
public static void WriteEmptyTypedMember()
{
var instance = CreateSolvencyInstance();
instance.CheckExplicitMemberDomainExists = true;
var scenario = new Scenario();
scenario.AddTypedMember("CE", "ID", null);
instance.AddFact(scenario, "mi1234", null, null, "123");
instance.RemoveUnusedObjects();
instance.ToFile(Path.Combine(TestContext.CurrentContext.TestDirectory, "typedmembernil.xbrl.xml"));
}