PersianCalendar.AlgorithmType Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald die aangeeft of de huidige kalender op zonne-energie, maanbasis of lunisolar is gebaseerd.
public:
virtual property System::Globalization::CalendarAlgorithmType AlgorithmType { System::Globalization::CalendarAlgorithmType get(); };
public override System.Globalization.CalendarAlgorithmType AlgorithmType { get; }
member this.AlgorithmType : System.Globalization.CalendarAlgorithmType
Public Overrides ReadOnly Property AlgorithmType As CalendarAlgorithmType
Waarde van eigenschap
Retourneert altijd SolarCalendar.
Voorbeelden
In het volgende voorbeeld wordt weerspiegeling gebruikt om elk type Calendar in het .NET Framework te instantiƫren en de waarde van de eigenschap AlgorithmType weer te geven.
using System;
using System.Collections;
using System.Globalization;
using System.Reflection;
public class Example
{
public static void Main()
{
Assembly assem = Assembly.GetAssembly(typeof(Calendar));
Type[] types = assem.GetExportedTypes();
Type[] calendars = Array.FindAll(types, IsValidCalendar);
Array.Sort(calendars, new CalendarComparer());
Console.WriteLine("{0,-30} {1}\n", "Calendar", "Algorithm Type");
foreach (var cal in calendars) {
// Instantiate a calendar object.
ConstructorInfo ctor = cal.GetConstructor( new Type[] {} );
Calendar calObj = (Calendar) ctor.Invoke( new Type[] {} );
Console.WriteLine("{0,-30} {1}",
cal.ToString().Replace("System.Globalization.", ""),
cal.InvokeMember("AlgorithmType",
BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty,
null, calObj, null));
}
}
private static bool IsValidCalendar(Type t)
{
if (t.IsSubclassOf(typeof(Calendar)))
if (t.IsAbstract)
return false;
else
return true;
else
return false;
}
}
public class CalendarComparer : IComparer
{
public int Compare(object x, object y)
{
Type tX = (Type) x;
Type tY = (Type) y;
return tX.Name.CompareTo(tY.Name);
}
}
// The example displays the following output:
// Calendar Algorithm Type
//
// ChineseLunisolarCalendar LunisolarCalendar
// GregorianCalendar SolarCalendar
// HebrewCalendar LunisolarCalendar
// HijriCalendar LunarCalendar
// JapaneseCalendar SolarCalendar
// JapaneseLunisolarCalendar LunisolarCalendar
// JulianCalendar SolarCalendar
// KoreanCalendar SolarCalendar
// KoreanLunisolarCalendar LunisolarCalendar
// PersianCalendar SolarCalendar
// TaiwanCalendar SolarCalendar
// TaiwanLunisolarCalendar LunisolarCalendar
// ThaiBuddhistCalendar SolarCalendar
// UmAlQuraCalendar LunarCalendar
Imports System.Collections
Imports System.Globalization
Imports System.Reflection
Module Example
Public Sub Main()
Dim assem As Assembly = Assembly.GetAssembly(GetType(Calendar))
Dim types() As Type = assem.GetExportedTypes()
Dim calendars() As Type = Array.FindAll(types, AddressOf IsValidCalendar)
Array.Sort(calendars, New CalendarComparer())
Console.WriteLine("{0,-30} {1}", "Calendar", "Algorithm Type")
Console.WriteLine()
For Each cal In calendars
' Instantiate a calendar object.
Dim ctor As ConstructorInfo = cal.GetConstructor( {} )
Dim calObj As Calendar = CType(ctor.Invoke( {} ), Calendar)
Console.WriteLine("{0,-30} {1}",
cal.ToString().Replace("System.Globalization.", ""),
cal.InvokeMember("AlgorithmType",
BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.GetProperty,
Nothing, calObj, Nothing))
Next
End Sub
Private Function IsValidCalendar(ByVal t As Type) As Boolean
If t.IsSubClassOf(GetType(Calendar)) Then
If t.IsAbstract Then
Return False
Else
Return True
End If
Else
Return False
End If
End Function
End Module
Public Class CalendarComparer : Implements IComparer
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Dim tX As Type = DirectCast(x, Type)
Dim tY As Type = DirectCast(y, Type)
Return tX.Name.CompareTo(tY.Name)
End Function
End Class
' The example displays the following output:
' Calendar Algorithm Type
'
' ChineseLunisolarCalendar LunisolarCalendar
' GregorianCalendar SolarCalendar
' HebrewCalendar LunisolarCalendar
' HijriCalendar LunarCalendar
' JapaneseCalendar SolarCalendar
' JapaneseLunisolarCalendar LunisolarCalendar
' JulianCalendar SolarCalendar
' KoreanCalendar SolarCalendar
' KoreanLunisolarCalendar LunisolarCalendar
' PersianCalendar SolarCalendar
' TaiwanCalendar SolarCalendar
' TaiwanLunisolarCalendar LunisolarCalendar
' ThaiBuddhistCalendar SolarCalendar
' UmAlQuraCalendar LunarCalendar
Opmerkingen
Een datumberekening voor een bepaalde kalender is afhankelijk van of de kalender op zonne-energie, maanbasis of lunisolar is gebaseerd.