Net35.TypeInfo
1.5.0.6
dotnet add package Net35.TypeInfo --version 1.5.0.6
NuGet\Install-Package Net35.TypeInfo -Version 1.5.0.6
<PackageReference Include="Net35.TypeInfo" Version="1.5.0.6" />
<PackageVersion Include="Net35.TypeInfo" Version="1.5.0.6" />
<PackageReference Include="Net35.TypeInfo" />
paket add Net35.TypeInfo --version 1.5.0.6
#r "nuget: Net35.TypeInfo, 1.5.0.6"
#:package Net35.TypeInfo@1.5.0.6
#addin nuget:?package=Net35.TypeInfo&version=1.5.0.6
#tool nuget:?package=Net35.TypeInfo&version=1.5.0.6
Net35.TypeInfo
Net35.TypeInfo is a small compatibility library that backports and provides higher-level reflection helpers for older .NET frameworks (including .NET 2.0, 3.5, 4.0, 4.5) while also supporting .NET Standard 2.0. It exposes convenience extensions around core reflection types (Type, MemberInfo, MethodInfo, PropertyInfo, ParameterInfo, CustomAttributeData, Assembly, etc.) to make it easier to inspect types, members and attributes in a consistent way across multiple framework versions.
Key goals
- Provide a consistent, tested API for reflection operations across legacy .NET frameworks and .NET Standard.
- Offer small, targeted extension methods that fill gaps in older runtimes without taking dependencies on large libraries.
- Keep the code small, portable and well covered by unit tests.
Supported target frameworks
- .NET Framework 2.0
- .NET Framework 3.5
- .NET Framework 4.0
- .NET Framework 4.5
- .NET Standard 2.0
Features
Typeextension helpers to enumerate and query members consistently across runtimes.MemberInfo,MethodInfo,PropertyInfo, andParameterInfoextension methods that simplify common reflection tasks.- Helpers for working with
CustomAttributeDataand custom attribute inspection without forcing attribute instantiation. - Small compatibility shims to fill APIs that are missing in older frameworks.
Getting started
Install the package from NuGet (when published) or reference the project directly in your solution.
Package id:
Net35.TypeInfo(see NuGet listing for the latest version)Use the extension methods in your code. Example:
using System; using System.Reflection; using Net35.TypeInfo.Extensions; // ... Type t = typeof(MyType); var publicInstanceProperties = t.GetPublicInstanceProperties(); // example extension foreach (var p in publicInstanceProperties) { Console.WriteLine(p.Name); }(Refer to the source code in
Net35.TypeInfo/Extensionsfor the exact extension API names and signatures.)
Building
This repository uses an SDK-style project that targets multiple TFMs. To build locally you can use the .NET SDK (for the .NET Standard target) or MSBuild/Visual Studio for full multi-target builds.
To restore and build with the .NET SDK (builds netstandard target):
dotnet build Net35.TypeInfo/Net35.TypeInfo.csprojTo build all targets including legacy .NET Framework TFMs use Visual Studio or MSBuild on Windows.
Running tests
The tests are located in the Net35.TypeInfo.Tests project. They are implemented to run on .NET 3.5. Use the test runner configured in your environment (for example the included test packages in the project file).
Contributing
Contributions are welcome. Please open issues or pull requests with clear descriptions and tests for any behaviour changes.
License
This project is licensed under the Apache-2.0 license. See the LICENSE.txt file for details.
Acknowledgements
This project was created to make it easier to write reflection-based code that works across older .NET frameworks and .NET Standard. It contains code inspired by corefx and other community libraries but implemented to be small and compatible with legacy runtimes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net20 is compatible. net35 is compatible. net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 2.0
- Net30.LinqBridge (>= 1.6.0.2)
-
.NETFramework 3.5
- No dependencies.
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
NuGet packages (31)
Showing the top 5 NuGet packages that depend on Net35.TypeInfo:
| Package | Downloads |
|---|---|
|
Net4x.BaseTypes
Package Description |
|
|
Net35.Threading.Tasks
The Mono port of the Task Parallel Library ported to .NET 3.5 |
|
|
Net4x.AsyncBridge
Package Description |
|
|
Net4x.CoreLibrary.Classes
CoreLibrary Base |
|
|
Net4x.StandardTypesWrappers
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.0.6 | 1,968 | 12/30/2025 |
| 1.5.0.5 | 461 | 12/26/2025 |
| 1.5.0.4 | 1,387 | 12/21/2025 |
| 1.5.0.3 | 353 | 12/4/2025 |
| 1.5.0.2 | 423 | 11/30/2025 |
| 1.5.0.1 | 804 | 11/29/2025 |
| 1.5.0 | 28,503 | 3/31/2025 |
| 1.1.0 | 30,071 | 8/26/2023 |
| 1.1.0-at20230430033914 | 9,676 | 5/7/2023 |
| 1.0.0-at20230415034659 | 4,699 | 4/15/2023 |
| 1.0.0-at20230411060748 | 15,209 | 4/14/2023 |
| 1.0.0-at20230409091843 | 564 | 4/9/2023 |
| 1.0.0-at20230409083604 | 450 | 4/9/2023 |
| 1.0.0-at20230409070212 | 545 | 4/9/2023 |