All Projects → StephenCleary → ConnectedProperties

StephenCleary / ConnectedProperties

Licence: MIT license
Dynamically attach properties to (almost) any object instance.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to ConnectedProperties

Gecco
Easy to use lightweight web crawler(易用的轻量化网络爬虫)
Stars: ✭ 2,310 (+5978.95%)
Mutual labels:  dynamic
rainbow-bash-prompt
Make your bash prompt dynamically and randomly rainbow
Stars: ✭ 49 (+28.95%)
Mutual labels:  dynamic
Equinox
🌇 🌃 Create dynamic wallpapers for macOS.
Stars: ✭ 737 (+1839.47%)
Mutual labels:  dynamic
Progress dialog
A light weight library to easily manage a progress dialog with simple steps whenever you need to do it. You can easily show and hide it.
Stars: ✭ 196 (+415.79%)
Mutual labels:  dynamic
Victoire
Fullstack Symfony CMS: The perfect mix between a framework and a CMS
Stars: ✭ 227 (+497.37%)
Mutual labels:  dynamic
github-readme-activity-graph
A dynamically generated activity graph to show your GitHub activities of last 31 days.
Stars: ✭ 1,029 (+2607.89%)
Mutual labels:  dynamic
Dalsoft.restclient
The C# REST Client - the only REST/ HTTP Client you will ever need
Stars: ✭ 185 (+386.84%)
Mutual labels:  dynamic
nextjs-redirect
HOC to redirect to any URL in NextJS both in client and server
Stars: ✭ 144 (+278.95%)
Mutual labels:  dynamic
Bdvl
LD_PRELOAD Linux rootkit (x86 & ARM)
Stars: ✭ 232 (+510.53%)
Mutual labels:  dynamic
KDynamic
An Alternative to MacOS Mojave Dynamic Theme and Wallpaper Changer
Stars: ✭ 48 (+26.32%)
Mutual labels:  dynamic
Json Flatfile Datastore
Simple JSON flat file data store with support for typed and dynamic data.
Stars: ✭ 212 (+457.89%)
Mutual labels:  dynamic
Flexml
🚀基于Litho的Android高性能动态业务容器。
Stars: ✭ 225 (+492.11%)
Mutual labels:  dynamic
venusscript
A dynamic, interpreted, scripting language written in Java.
Stars: ✭ 17 (-55.26%)
Mutual labels:  dynamic
Wallpapper
💻 Console application for creating dynamic wallpapers for macOS Mojave and newer
Stars: ✭ 2,533 (+6565.79%)
Mutual labels:  dynamic
dynamic-threadpool
📌 强大的动态线程池框架,附带监控报警功能。支持 JDK、Tomcat、Jetty、Undertow 线程池;Dubbo、Dubbox、RabbitMQ、RocketMQ、Hystrix 消费线程池(更多框架线程池还在适配中)。内置两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。
Stars: ✭ 3,609 (+9397.37%)
Mutual labels:  dynamic
Volbx
Graphical tool for data manipulation written in C++/Qt
Stars: ✭ 187 (+392.11%)
Mutual labels:  dynamic
Signals.jl
Multi-Paradigm Dynamic Fast Functional Reactive Programming in Julia
Stars: ✭ 37 (-2.63%)
Mutual labels:  dynamic
joineRML
R package for fitting joint models to time-to-event data and multivariate longitudinal data
Stars: ✭ 24 (-36.84%)
Mutual labels:  dynamic
scrapy helper
Dynamic configurable crawl (动态可配置化爬虫)
Stars: ✭ 84 (+121.05%)
Mutual labels:  dynamic
laravel-livewire-modals
Dynamic Laravel Livewire Bootstrap modals.
Stars: ✭ 63 (+65.79%)
Mutual labels:  dynamic

Logo

ConnectedProperties Build status codecov NuGet version API docs

Dynamically attach properties to (almost) any object instance.

The 2-Minute Intro: Connecting a "Name" to (almost) any Object

The following code shows how to connect a "Name" property to an object:

// Use the Connected Properties library.
using Nito.ConnectedProperties;

class Program
{
  // Display the Name of any object passed into this method.
  public static void DisplayName(object obj)
  {
    // Look up a connected property called "Name".
    var name = ConnectedProperty.Get(obj, "Name");
    Console.WriteLine("Name: " + name);
  }

  static void Main()
  {
    // Create an object to name.
    var obj = new object();

    // I dub this object "Bob".
    ConnectedProperty.Set(obj, "Name", "Bob");

    // Pass the object to the DisplayName method, which is able to retrieve the connected property.
    DisplayName(obj);
  }
}

Note that the lifetime of the connected property is exactly as if it was a real property of the object, and the lifetime of the object is not changed in any way (even if the property refers to the object). Connected properties are a true ephemeron implementation for .NET.

See the documentation for all kinds of fun details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].