PersianCalendar.AlgorithmType Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un valore che indica se il calendario corrente è solare, lunare o una combinazione di entrambi (lunisolare).
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
Valore della proprietà
Restituisce sempre SolarCalendar.
Esempio
Nell'esempio seguente viene usata la reflection per creare un'istanza di ogni Calendar tipo trovato in .NET Framework e viene visualizzato il valore della relativa AlgorithmType proprietà.
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
Commenti
Un calcolo di data per un determinato calendario dipende dal fatto che il calendario sia basato su solare, basato su lunare o lunisolar-based.