VBA-DotNetLib
所属分类:C#编程
开发工具:VBA
文件大小:0KB
下载次数:0
上传日期:2023-07-30 09:46:11
上 传 者:
sh-1993
说明: .Net Framework 4.8.1的COM互操作包装器,
(COM Interlop wrappers of the .Net Framework 4.8.1,)
文件列表:
COMDotNetLib/ (0, 2023-12-26)
COMDotNetLib/.vs/ (0, 2023-12-26)
COMDotNetLib/.vs/DotNetLib.csproj.dtbcache.json (21027, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/ (0, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/ (0, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/09afe6cc-c936-4987-9291-3c1adc69e773.vsidx (37422, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/2e4ed958-3eb1-466a-b810-b667567a8478.vsidx (33938, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/36a8e1af-5021-4136-84d6-aa7d157fd4d8.vsidx (554861, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/bdbf81be-8608-4dfa-9771-2712d171c6c1.vsidx (37356, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/FileContentIndex/f4e5beec-916d-4271-b4d4-5550b5c53ec4.vsidx (33486, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/v17/ (0, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/v17/.suo (1403904, 2023-12-26)
COMDotNetLib/.vs/DotNetLib/v17/fileList.bin (84656, 2023-12-26)
COMDotNetLib/CoordinateSharp/ (0, 2023-12-26)
COMDotNetLib/CoordinateSharp/CelestialInfo.cs (1291, 2023-12-26)
COMDotNetLib/CoordinateSharp/Coordinate.cs (883, 2023-12-26)
COMDotNetLib/CoordinateSharp/CoordinateSingleton.cs (211, 2023-12-26)
COMDotNetLib/CoordinateSharp/ICelestialInfo.cs (762, 2023-12-26)
COMDotNetLib/CoordinateSharp/ICoordinate.cs (207, 2023-12-26)
COMDotNetLib/DotNetLib.csproj (22795, 2023-12-26)
COMDotNetLib/DotNetLib.csproj.user (286, 2023-12-26)
COMDotNetLib/DotNetLib.pfx (1764, 2023-12-26)
COMDotNetLib/DotNetLib.sln (1098, 2023-12-26)
COMDotNetLib/Extensions/ (0, 2023-12-26)
COMDotNetLib/Extensions/CalendarExtension.cs (2675, 2023-12-26)
COMDotNetLib/Extensions/DirectoryInfoExtension.cs (728, 2023-12-26)
COMDotNetLib/Extensions/EncodingExtension.cs (2624, 2023-12-26)
COMDotNetLib/Extensions/FileSystemInfoExtension.cs (720, 2023-12-26)
COMDotNetLib/Extensions/IFormatProviderExtension.cs (513, 2023-12-26)
COMDotNetLib/Extensions/IWrappedObject.cs (187, 2023-12-26)
COMDotNetLib/Extensions/ListExtension.cs (878, 2023-12-26)
COMDotNetLib/Extensions/ObjectExtension.cs (956, 2023-12-26)
COMDotNetLib/Extensions/StringExtension.cs (894, 2023-12-26)
COMDotNetLib/Properties/ (0, 2023-12-26)
COMDotNetLib/Properties/AssemblyInfo.cs (1541, 2023-12-26)
COMDotNetLib/System/ (0, 2023-12-26)
COMDotNetLib/System/Array.cs (15212, 2023-12-26)
COMDotNetLib/System/Collections/ (0, 2023-12-26)
COMDotNetLib/System/Collections/ArrayList.cs (9105, 2023-12-26)
... ...
# VBA DotNetLib COM Interop wrappers of the .Net Framework 4.8.1
**Aim:** To create .Net Framework 4.8.1 COM Interop wrappers using C# to implement in VBA 64. This will enable various .Net Framework data types in VBA with early and/or late binding. Compatibility intially only VBA 64 on Windows as can only test on windows 64 bit of MS-Office. For Mac compatibility would require migrating to .Net Core.
Classes initally focussing on are [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=netframework-4.8.1), [DateTimeOffset](https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset?view=netframework-4.8.1), [TimeSpan](https://learn.microsoft.com/en-us/dotnet/api/system.timespan?view=netframework-4.8.1), [TimeZoneInfo](https://learn.microsoft.com/en-us/dotnet/api/system.timezoneinfo?view=netframework-4.8.1) and associated classes.
Aug 29, 2023 Added: [CultureInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo?view=netframework-4.8.1), [DateTimeFormatInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.datetimeformatinfo?view=netframework-4.8.1), [NumberFormatInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.numberformatinfo?view=netframework-4.8.1), [TextInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.textinfo?view=netframework-4.8.1) .
Sep 19, 2023 Added: [ChineseLunisolarCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.chineselunisolarcalendar?view=netframework-4.8.1), [GregorianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.gregoriancalendar?view=netframework-4.8.1), [HebrewCalendar ](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.hebrewcalendar?view=netframework-4.8.1), [HijriCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.hijricalendar?view=netframework-4.8.1), [JapaneseCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.japanesecalendar?view=netframework-4.8.1), [JulianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.juliancalendar?view=netframework-4.8.1), [KoreanCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.koreancalendar?view=netframework-4.8.1), [PersianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.persiancalendar?view=netframework-4.8.1), [ThaiBuddhistCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.thaibuddhistcalendar?view=netframework-4.8.1), [UmAlQuraCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.umalquracalendar?view=netframework-4.8.1)
Sep 22, 2023 Added: [CompareInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.compareinfo?view=netframework-4.8.1)
Sep 23, 2023 Added [String](https://learn.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.8.1) For the VBA singleton wrapper renamed String to Strings due to VBA reserved word.
Sep 25, 2023 Added [Regex](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex?view=netframework-4.8.1) Implemented so far Regex.Unescape and Regex.Escape
Sep 30, 2023 Added [System.Text.RegularExpressions](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions?view=netframework-4.8.1), [Capture](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.capture?view=netframework-4.8.1), [CaptureCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.capturecollection?view=netframework-4.8.1), [Group](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.group?view=netframework-4.8.1), [GroupCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.groupcollection?view=netframework-4.8.1), [Match](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.match?view=netframework-4.8.1), [MatchCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.matchcollection?view=netframework-4.8.1), [Regex](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex?view=netframework-4.8.1)
Oct 3, 2023 Added [ListString](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1?view=netframework-4.8.1)
- Attempted to dynamically create a List providing the data type instance however having issues casting, therefore will wrap a List for various basic types individually.
- Testing still to be done. Create, Add, BinarySearch, Contains, IndexOf, Insert, Reverse, Sort, appears functioning correctly.
Oct 5, 2023 Added [ArrayList](https://learn.microsoft.com/en-us/dotnet/api/system.collections.arraylist?view=netframework-4.8.1)
Oct 12, 2023 Added [Array](https://learn.microsoft.com/en-us/dotnet/api/system.array?view=netframework-4.8.1), [Type](https://learn.microsoft.com/en-us/dotnet/api/system.type?view=netframework-4.8.1), [GenericParameterAttributes](https://learn.microsoft.com/en-us/dotnet/api/system.reflection.genericparameterattributes?view=netframework-4.8.1)
Oct 15, 2023 Added [Queue](https://learn.microsoft.com/en-us/dotnet/api/system.collections.queue?view=netframework-4.8.1), [Stack](https://learn.microsoft.com/en-us/dotnet/api/system.collections.stack?view=netframework-4.8.1)
Oct 16, 2023 Added [SortedList](https://learn.microsoft.com/en-us/dotnet/api/system.collections.sortedlist?view=netframework-4.8.1)
Oct 17, 2023 Added [CaseInsensitiveComparer](https://learn.microsoft.com/en-us/dotnet/api/system.collections.caseinsensitivecomparer?view=netframework-4.8.1), [StringComparer](https://learn.microsoft.com/en-us/dotnet/api/system.stringcomparer?view=netframework-4.8.1)
Oct 18, 2023 Added [DictionaryEntry](https://learn.microsoft.com/en-us/dotnet/api/system.collections.dictionaryentry?view=netframework-4.8.1), [Hashtable](https://learn.microsoft.com/en-us/dotnet/api/system.collections.hashtable?view=netframework-4.8.1)
Oct 31, 2023 Added [StringBuilder](https://learn.microsoft.com/en-us/dotnet/api/system.text.stringbuilder?view=netframework-4.8.1)
Nov 2, 2023 Added [BitArray](https://learn.microsoft.com/en-us/dotnet/api/system.collections.bitarray?view=netframework-4.8.1)
Nov 16, 2023 Added [Directory](https://learn.microsoft.com/en-us/dotnet/api/system.io.directory?view=netframework-4.8.1), [DirectoryInfo](https://learn.microsoft.com/en-us/dotnet/api/system.io.directoryinfo?view=netframework-4.8.1), [Environment](https://learn.microsoft.com/en-us/dotnet/api/system.environment?view=netframework-4.8.1), [File](https://learn.microsoft.com/en-us/dotnet/api/system.io.file?view=netframework-4.8.1), [FileInfo](https://learn.microsoft.com/en-us/dotnet/api/system.io.fileinfo?view=netframework-4.8.1), [Path](https://learn.microsoft.com/en-us/dotnet/api/system.io.path?view=netframework-4.8.1) , [FileSystemInfo](https://learn.microsoft.com/en-us/dotnet/api/system.io.filesysteminfo?view=netframework-4.8.1), [StreamWriter](https://learn.microsoft.com/en-us/dotnet/api/system.io.streamwriter?view=netframework-4.8.1) [AccessControlSections](https://learn.microsoft.com/en-us/dotnet/api/system.security.accesscontrol.accesscontrolsections?view=netframework-4.8.1), [SpecialFolderOption](https://learn.microsoft.com/en-us/dotnet/api/system.environment.specialfolderoption?view=netframework-4.8.1), [SpecialFolders](https://learn.microsoft.com/en-us/dotnet/api/system.environment.specialfolder?view=netframework-4.8.1), [StringSplitOptions](https://learn.microsoft.com/en-us/dotnet/api/system.stringsplitoptions?view=netframework-4.8.1)
Nov 23, 2023 Added [ASCIIEncoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.asciiencoding?view=netframework-4.8.1), [Encoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.8.1), [UnicodeEncoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.unicodeencoding?view=netframework-4.8.1), [UTF32Encoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.utf32encoding?view=netframework-4.8.1), [UTF7Encoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.utf7encoding?view=netframework-4.8.1), [UTF8Encoding](https://learn.microsoft.com/en-us/dotnet/api/system.text.utf8encoding?view=netframework-4.8.1)
**Affected API due to VBA reserved words:**
The API for the .Net class or VBA singletons for associated .Net classes may be required to be altered due to VBA reserved words. See [reserved-word-list](https://www.engram9.info/access-2007-vba/reserved-word-list.html).
- [TimeZoneInfo.Local](https://learn.microsoft.com/en-us/dotnet/api/system.timezoneinfo.local?view=netframework-4.8.1) renamed to TimeZoneInfo.Locale.
- [String](https://learn.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.8.1) VBA singleton renamed to Strings.
- [Array](https://learn.microsoft.com/en-us/dotnet/api/system.array?view=netframework-4.8.1) VBA singleton renamed to Arrays.
- [Type](https://learn.microsoft.com/en-us/dotnet/api/system.type?view=netframework-4.8.1) VBA singleton renamed to Types.
As VBA doesnot have member overloading factory methods and member overloads will differ. Overloads generally are named with a preceeding number. Unique naming maybe used for factory methods.
**Dependencies:**
- [DotNetLib.tlb type library](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/COMDotNetLib/bin/Release)
- mscorlib.tlb type library eg Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.tlb
- VBIDE (Microsoft Visual Basic for Applications Extensibility 5.3) for the Rubberduck utility exporting components
- .NET Framework If it is not installed see [Download .NET Framework](https://dotnet.microsoft.com/en-us/download/dotnet-framework)
**Usage:**
1) Register [DotNetLib.tlb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/COMDotNetLib/bin/Release)
- Either building the project in Visual Studio which registers the DotNetLib.tlb or run RegAsm.exe in administrator to register the type library [DotNetLib.tlb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/COMDotNetLib/bin/Release).
- Currently manually installation and registration for type library [DotNetLib.tlb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/COMDotNetLib/bin/Release) See: [register-dll](http://www.geeksengine.com/article/register-dll.html)
- Copy the [DotNetLib.tlb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/COMDotNetLib/bin/Release) files to a location which don't intend to change eg. C:\ProgramData\DotNetLib then register the DotNetLib type library
- Eg. To register C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe C:\ProgramData\DotNetLib\DotNetLib.dll /tlb
- Eg. To unregister C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe C:\ProgramData\DotNetLib\DotNetLib.dll /tlb /unregister
- If the files are moved will require to unregister and register manually.
- If the DotNetLib type library is updated will require to unregister and register manually.
2) Add References required.
- Eg In MS-Access, MS-Excel see Tools->References
- For [DotNetLibrary.accdb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/blob/main/VBA/DotNetLibrary.accdb) references may be required to be fixed by removing and adding back in.
- Add reference DotNetlib.tlb (Com Interlop wrappers of the .Net Framework 4.8.1) i.e. browse to location where stored
- Add reference mscorlib.tlb version 2.4
- Add reference Microsoft VBScript Regular Expressions 5.3 (Required only for the [Rubberduck export utility](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/VBA/Rubberduck%20Utility) not part of VBADotNetLib)
- The type libraries added can be viewed under View->Object Browser and select DotNetLib.tlb
3) Add the [VBADotNetLib](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/VBA/VBADotNetLib/) VBA Factory/Singleton classes into a project.
- Either copy the classes or add a reference to project containing the classes.
4) Recommended install [Rubberduck](https://rubberduckvba.com/) VBA Addin.
For detailed explanation of the DotNetLib class properties see [netframework-4.8.1](https://learn.microsoft.com/en-us/dotnet/api/system?view=netframework-4.8.1)
Ms Access database [VBADotNetLibrary.accdb](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/VBA/MS-Access) VBA Factory classes and [examples](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/VBA/Examples) for the DotNetLib.tlb. Also a MS-Excel version [VBADotNetLib.xlsm](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/tree/main/VBA/Ms-Excel) .
Note: The MS-Access contains the latest version of VBADotNetLibrary and examples as the development is performed in MS-Access and periodically exported to the VBADotNetLibrary MS-Excel spreadsheet.
**Regular expressions : Converting strings containing escape sequences and special characterss:**
To use escape and special characters. Note if require quotes " require to escape in VBA with double quotes.
VBA Example using Regex.Unescape with hexadecimal escape sequences
```
Dim stringUpper As String
stringUpper = "\x41\x42\x43" ' Create upper-case characters from their Unicode code units.
stringUpper = Regex.Unescape(stringUpper)
Debug.Print stringUpper
'Output: ABC
```
**Issues:**
Hashtable.Item(key) = valuetype causes an Object required error for value types. Added member SetValue(key,value) to use as an alternative until fixed.
- To fix requires creating an IDL and manually adding a propput for value types and compiling type library with MIDL.
ArrayList.Item(index) = item
- Cannot assign value types using arraylist.Item(index) = valueType
- Eg. ```pvtStringList.Item(2) = "abcd" ``` Will produce a Run-time error 424 Object required
- To cater for value types added the Arraylist.SetItem(index,item) member. Arraylist.SetItem(index,item) can be use for value or object types.
- Eg. assigning a value type ```pvtStringList.SetItem 2, "abcd"```
- Currently List COM object wont allow to be created getting invalid use of New Keyword. This will removed and replaced with it's non-generic equivalent..
- Too many things to do. Argh!
**Things To do**
- Unit testing using Rubberduck unit testing.
- [Create an installer from Microsoft Visual Studio](https://www.advancedinstaller.com/user-guide/tutorial-ai-ext-vs.html#section761)
**Update History**
**Status: Latest Updates**
**DotNetLib Update September 30th, 2023**
Added [System.Text.RegularExpressions](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions?view=netframework-4.8.1), [Capture](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.capture?view=netframework-4.8.1), [CaptureCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.capturecollection?view=netframework-4.8.1), [Group](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.group?view=netframework-4.8.1), [GroupCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.groupcollection?view=netframework-4.8.1), [Match](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.match?view=netframework-4.8.1), [MatchCollection](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.matchcollection?view=netframework-4.8.1), [Regex](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex?view=netframework-4.8.1)
Todo:
- Implement VBA singleton classes for Match and Group for static members.
- Examples and unit testing.
**DotNetLib Update September 25th, 2023**
Added [Regex](https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex?view=netframework-4.8.1)
- Implemented Regex.Unescape and Regex.Escape
- Regex.Unescape can be used to convert VBA literal strings containing escape characters.
Updated Strings, added the following members
- Compare, CompareOrdinal, Copy, Equals, IsNullOrEmpty, IsNullOrWhiteSpace
**DotNetLib Update September 23rd, 2023**
Added [String](https://learn.microsoft.com/en-us/dotnet/api/system.string?view=netframework-4.8.1)
- So far only implemented static members [String.Format](https://learn.microsoft.com/en-us/dotnet/api/system.string.format?view=netframework-4.8.1)
- Renamed String to Strings due to VBA reserved word.
Added: IFormatProviderExtension.cs to UnWrap IFormatProvider types.
**DotNetLib Update September 22nd, 2023**
- Renamed abstract class ICalendar to Calendar to keep consistent with Net Framework
- Updated VBADotNetLib for affected calendar classes and examples.
- Added CompareInfo, CultureInfo.CompareInfo member properties now availble.
- Todo add to VBADotNetLib CompareInfo singleton class.
**DotNetLib Update September 20th, 2023**
Updated DateTime.cs, IDateTime.cs, DateTimeSingleton, IDateTimeSingleton.cs,
- Added factory methods for ICalendar parameter.
- public DateTime CreateFromDate2(int pYear, int pMonth, int pDay, ICalendar calendar)
- public DateTime CreateFromDateTime2(int pYear, int pMonth, int pDay, int pHour, int pMinute, int pSecond, ICalendar calendar)
- public DateTime CreateFromDateTime3(int pYear, int pMonth, int pDay, int pHour, int pMinute, int pSecond, int pMillisecond, ICalendar calendar)
- public DateTime CreateFromDateTimeKind3(int pYear, int pMonth, int pDay, int pHour, int pMinute, int pSecond, int pMillisecond, ICalendar calendar, DateTimeKind pKind)
- [DateTime.cls](https://github.com/MarkJohnstoneGitHub/VBA-DotNetLib/blob/main/VBA/VBADotNetLib/System/DateTime.cls) added the above new factory methods available from DateTimeSingleton DotNetLib.tlb.
Todo add examples and testing.
- Update DotNetLib class members that reference the Calendar class.
- Eg. DateTime constructors, DateTimeOffset constructors
- Updated DateTimeFormatInfo.Calendar member to use wrapped ICalendar. DateTimeFormatInfo.Calendar property should now be available to access and set. (Require to test)
**DotNetLib Update September 19th, 2023**
- Implemented abstract class [Calendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.calendar?view=netframework-4.8.1) as ICalendar, updated CultureInfo for properties Calendar and OptionalCalendars which are now availbable and added the following calendars:
- [ChineseLunisolarCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.chineselunisolarcalendar?view=netframework-4.8.1)
- [GregorianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.gregoriancalendar?view=netframework-4.8.1)
- [HebrewCalendar ](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.hebrewcalendar?view=netframework-4.8.1)
- [HijriCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.hijricalendar?view=netframework-4.8.1)
- [JapaneseCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.japanesecalendar?view=netframework-4.8.1)
- [JulianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.juliancalendar?view=netframework-4.8.1)
- [KoreanCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.koreancalendar?view=netframework-4.8.1)
- [PersianCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.persiancalendar?view=netframework-4.8.1)
- [TaiwanCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.taiwancalendar?view=netframework-4.8.1)
- [ThaiBuddhistCalendar](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.thaibudd ... ...
近期下载者:
相关文件:
收藏者: