{"id":16438731,"url":"https://github.com/eventstorage/tdiscover","last_synced_at":"2026-02-26T03:07:05.822Z","repository":{"id":256789867,"uuid":"856061764","full_name":"eventstorage/tdiscover","owner":"eventstorage","description":".Net type discovery and assembly scanning made simplified.","archived":false,"fork":false,"pushed_at":"2024-10-10T00:50:34.000Z","size":35,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-16T21:19:36.620Z","etag":null,"topics":["assembly","dotnet","extensions","reflection","types"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eventstorage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-11T23:27:37.000Z","updated_at":"2025-04-09T12:16:39.000Z","dependencies_parsed_at":"2024-10-12T00:17:28.725Z","dependency_job_id":null,"html_url":"https://github.com/eventstorage/tdiscover","commit_stats":null,"previous_names":["asynchandler/asynchandler.assembly","eventstorage/asynchandler.assembly","eventstorage/tdiscover"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/eventstorage/tdiscover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventstorage%2Ftdiscover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventstorage%2Ftdiscover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventstorage%2Ftdiscover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventstorage%2Ftdiscover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eventstorage","download_url":"https://codeload.github.com/eventstorage/tdiscover/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eventstorage%2Ftdiscover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281064210,"owners_count":26437785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembly","dotnet","extensions","reflection","types"],"created_at":"2024-10-11T09:05:51.865Z","updated_at":"2025-10-31T10:13:59.655Z","avatar_url":"https://github.com/eventstorage.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tdiscover\n### A .Net library to help speed up and simplify type discovery. \n\n[![Github follow](https://img.shields.io/badge/follow-eventstorage-bf9136?logo=github)](https://github.com/eventstorage)\n[![Nuget Package](https://badgen.net/nuget/v/TDiscover)](https://www.nuget.org/packages/TDiscover)\n[![Nuget](https://badgen.net/nuget/dt/TDiscover)](https://www.nuget.org/packages/TDiscover)\n[![Github follow](https://img.shields.io/badge/give_us_a-⭐-yellow?logo=github)](https://github.com/eventstorage/tdiscover)\n\n\u003cdiv align=\"left\"\u003e\n    \u003cimg src=\".assets/github.png\" width=\"80\" height=\"80\" style=\"float:left;\" alt=\"asynchandler\"\u003e\n\u003c/div\u003e\n\n### Overview\ntdiscover simplifies type discovery overhead when searching through .Net assemblies with a bunch of helpful methods to speed up your development.\n\n### Prerequisities\n[![My Skills](https://skillicons.dev/icons?i=dotnet)](https://dotnet.microsoft.com/en-us/download/dotnet/8.0)\n\n`tdiscover` runs on the stable release of .Net 8 and requires the SDK installed.\n\n    https://dotnet.microsoft.com/en-us/download/dotnet/8.0\n\n### Install the package\n\nIinstall `TDiscover` package.\n\n    dotnet add package TDiscover\n    \n### Examples\nSearch for a derived type by its root.\n```csharp\nusing System.Reflection;\nusing TDiscover;\n\npublic record AggregateRoot;\npublic record OrderAggregate : AggregateRoot;\n\nvar assembly = Assembly.GetExecutingAssembly();\nvar type = Td.FindByAsse\u003cAggregateRoot\u003e(assembly);\n// or typeof(AggregateRoot).FindByAsse(assembly);\n```\n\nUse `FindByCallingAsse()` to start from calling assembly all the way back to matching assembly, `FindByCallingAsse()` offers significant performance gains.\n```csharp\ntypeof(AggregateRoot).FindByCallingAsse(Assembly.GetCallingAssembly());\n```\n\nSearch for a type through `AppDomain`, smart tricks and filters are applied to enhance the search.\n```csharp\npublic record DomainEvent;\npublic record OrderPlaced : DomainEvent;\n\nTd.FindByType\u003cDomainEvent\u003e();\n```\n\nTo further enhance the above search, use `FindByTypeName` to specify the type and name as well.\n```csharp\npublic record DomainEvent;\npublic record OrderPlaced : DomainEvent;\npublic record OrderConfirmed : DomainEvent;\n\nTd.FindByTypeName\u003cDomainEvent\u003e(\"OrderPlaced\");\n// or typeof(DomainEvent).FindByTypeName(\"OrderPlaced\");\n```\nSearch for a type when all you have is the type name.\n\n```csharp\nTd.FindByTypeName(\"OrderPlaced\");\n```\n\n### Give us a ⭐\nIf you are an assembly and typing guru, give [tdiscover](https://github.com/eventstorage/tdiscover) a star. :purple_heart:\n\n### License\n\nThis project is licensed under the terms of [MIT](https://github.com/eventstorage/tdiscover/blob/main/LICENSE) license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventstorage%2Ftdiscover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feventstorage%2Ftdiscover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feventstorage%2Ftdiscover/lists"}