• 0

C# Class library cross reference not allowed?


Question

Hey guys I want to build a DLL that can access all my forms properties and have the forms able to access the dll functions. Microsoft seemed to make

it impossible to do this. Any ideas? I can't add a reference of each other in both projects b/c of some error about how it's create circular speculation...that's what I want...both projects to be able to access both data.

5 answers to this question

Recommended Posts

  • 0

Circular referencing projects can be difficult because of the semenatics behind trying to compile them (which one would you compile first?), and load them. If the libraries will both be dependant on each other, would it not be easier to just compile them into the same project?

One way to get round them is to use an Event based mechanism, but it wouldn't be very pretty:

Project A declares Event 1

Project B creates a handler for Event 1

Project A fires Event 1

Project B catches Event 1

Only Project B is dependant on Project A

Create a custom event handler in Project A, which Project B implements but Project A fires. Make sense?

  • 0

eh...not really. B/c how would I get project b to create a handle out of anything from project a if I can't include both?

I would love to put them in the same project but VS 2005 doesn't allow you to add a .dll file project into an existing Windows Form project.

Is there a link maybe to explain more of what you're talking about?

  • 0

Visual Studio 2005 allows both kinds of projects to be in the same solution. The way antaris described it the 2 projects won't need to include each other. Only Project B would need to include Project A.

  • 0

Honestly, this doesn't sound like a good design. You can work around this, though.

My first thought, and I didn't get much sleep so forgive if I'm not clear, is to create a base class or interface that your forms implement inside another DLL. This base should include all the properties you want to expose to the primary DLL. Have your primary DLL reference this abstract type instead of the concrete type. Your Win form project should reference this, too, of course. Now your primary dll can be reference by your Win form app and your win form app can pass in the base type to your primary dll. You've created a triangular reference instead of a circular one. ;)

You should really rethink your design, though. If that much data and functionality really needs to be shared between 2 classes, it should be one class or a hierarchy.

  • 0

Ah, the Seperate Interface pattern, never thought of that.

  Quote
You should really rethink your design, though. If that much data and functionality really needs to be shared between 2 classes, it should be one class or a hierarchy
Yeah, thats what I meant when I said
  Quote
If the libraries will both be dependant on each other, would it not be easier to just compile them into the same project?

Also,

  Quote
I would love to put them in the same project but VS 2005 doesn't allow you to add a .dll file project into an existing Windows Form project

When you click File..Open or File..New, the dialog gives you the option of either creating a new solution, OR, adding the project to the existing solution.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • The Start menu in Windows 11 is the Start menu I dislike the most.
    • Apple's AI models still trail behind OpenAI's GPT-4o despite latest update by Pradeep Viswanathan At WWDC 2025, Apple announced several updates related to Apple Intelligence for both developers and consumers. With the new Foundation Models framework, developers can now bring AI experiences to their apps that work offline in a privacy-preserving way and are available free of charge. The Foundation Models framework is built on Apple’s own in-house-developed AI models. Apple also unveiled a new generation of language foundation models. According to Apple, these updated models are faster, more efficient, and offer improved tool use, better reasoning capabilities, multimodal support for image and text inputs, and support for 15 languages. Apple Intelligence includes two foundation models: A 3-billion-parameter model that runs on-device using Apple Silicon. A server-based mixture-of-experts model optimized for Private Cloud Compute. Apple noted that the on-device 3B language model is not designed to be a general-purpose chatbot. Instead, it is intended to perform text-related tasks such as summarization, entity extraction, text understanding, refinement, short dialogues, and creative content generation, among others. The big question is how well Apple’s models perform compared to other leading models on the market. Rather than using standard AI benchmarks, Apple shared results from its own internal evaluations of fundamental language and reasoning capabilities. According to Apple’s text-based evaluations, its on-device 3B model performs favorably against the slightly larger Qwen-2.5-3B and competitively against the larger Qwen-3-4B and Gemma-3-4B in English. Its server-based model performs slightly better than Llama-4-Scout but falls short compared to Qwen-3-235B and OpenAI’s proprietary GPT-4o. In evaluations involving image input, Apple’s on-device model outperforms InternVL and Qwen, and performs competitively against Gemma. While Apple’s server model beats Qwen-2.5-VL, it underperforms when compared to Llama-4-Scout and GPT-4o. These results highlight how far Apple still has to go in foundational AI capabilities. It seems Apple compared its models to GPT-4o to make its performance appear relatively decent. If Apple were to compare its results against OpenAI’s latest O-series models or Google’s Gemini 2.5 Pro, the gap would likely appear much wider. It will be interesting to see how Apple navigates the AI era with its in-house capabilities in the years ahead.
    • Voe 3 video generation has gone viral. Especially with audio they look realistic. People posting tons of wild videos created by ai is insane
    • Vive tool again. Sigh, no thanks.
  • Recent Achievements

    • Week One Done
      IAMFLUXX earned a badge
      Week One Done
    • One Month Later
      Æhund earned a badge
      One Month Later
    • One Month Later
      CoolRaoul earned a badge
      One Month Later
    • First Post
      Kurotama earned a badge
      First Post
    • Collaborator
      Carltonbar earned a badge
      Collaborator
  • Popular Contributors

    1. 1
      +primortal
      492
    2. 2
      ATLien_0
      268
    3. 3
      +FloatingFatMan
      230
    4. 4
      +Edouard
      199
    5. 5
      snowy owl
      152
  • Tell a friend

    Love Neowin? Tell a friend!