I am trying to find a way to not have to reference an object in all my
projects, since it is initialized & instantiated in my Common class.
I have a 4 tier project (presentation, rules, dal, common) where my common
project initializes and configures things such as log4net (and several
others). However, I can't simply call MyLog4Net.Warn(""), no matter if I
create the common class as a singleton with a public accessor returning
MyLog4Net, or if I set MyLog4Net as a public static member variable in
Common (even if Common is a struct, instead of a class).
With all these ways, I still have to reference log4net, AND Common, in all
my other tiers. I want to just call Common, which only that references
log4net, and not have all my tiers referencing both of these objects. How
is this possible? Is there some Marshalling attribute, or some type of
Reflection call that can be made/returned from the Common class, so as to
not have to have all my other projects reference an abundance of .dll files?
TIA
-John 3 1739
Well, in the second paragraph of your post you have basically laid out the
solution, which allows you to call
Common.MyLog4Net.Warn("")
why is this such a big deal?
Peter
--
Co-founder, Eggheadcafe.com developer portal: http://www.eggheadcafe.com
UnBlog: http://petesbloggerama.blogspot.com
"John E." wrote: I am trying to find a way to not have to reference an object in all my projects, since it is initialized & instantiated in my Common class.
I have a 4 tier project (presentation, rules, dal, common) where my common project initializes and configures things such as log4net (and several others). However, I can't simply call MyLog4Net.Warn(""), no matter if I create the common class as a singleton with a public accessor returning MyLog4Net, or if I set MyLog4Net as a public static member variable in Common (even if Common is a struct, instead of a class).
With all these ways, I still have to reference log4net, AND Common, in all my other tiers. I want to just call Common, which only that references log4net, and not have all my tiers referencing both of these objects. How is this possible? Is there some Marshalling attribute, or some type of Reflection call that can be made/returned from the Common class, so as to not have to have all my other projects reference an abundance of .dll files?
TIA -John
Thanks for the reply.
It won't let me access any methods within MyLog4Net (i.e. the Warn("")
part), unless each of my projects not only references my Common project, but
also the log4net project.
e.g.
Project: A
|--> References: Common
Project: Common
|--> References: log4net
Project A cannot call Common.MyLog4Net.Warn()
Unless the Common project wraps each method in log4net, I cannot access any
log4net method. Even if Common has public static log4net variable (e.g.
public static log4net.ILog MyLog4Net = log4net.GetLogger("")) ...or via an
accessor, or if Common is a singleton, or if Common is a struct.
So, currently the only way to access the log4net methods is to do the
following:
Project: A
|--> References: Common, log4net
Project: Common
|--> References: log4net
It seems a lot worse when you have an n-teir project all with references to
Common, log4net, Config, Util, etc.
Does that help clarify? Any ideas on how to resolve this overkill of
referencing?
Thanks,
-John
"Peter Bromberg [C# MVP]" <pb*******@yahoo.nospammin.com> wrote in message
news:F4**********************************@microsof t.com... Well, in the second paragraph of your post you have basically laid out the solution, which allows you to call
Common.MyLog4Net.Warn("")
why is this such a big deal? Peter
-- Co-founder, Eggheadcafe.com developer portal: http://www.eggheadcafe.com UnBlog: http://petesbloggerama.blogspot.com
"John E." wrote:
I am trying to find a way to not have to reference an object in all my projects, since it is initialized & instantiated in my Common class.
I have a 4 tier project (presentation, rules, dal, common) where my
common project initializes and configures things such as log4net (and several others). However, I can't simply call MyLog4Net.Warn(""), no matter if
I create the common class as a singleton with a public accessor returning MyLog4Net, or if I set MyLog4Net as a public static member variable in Common (even if Common is a struct, instead of a class).
With all these ways, I still have to reference log4net, AND Common, in
all my other tiers. I want to just call Common, which only that references log4net, and not have all my tiers referencing both of these objects.
How is this possible? Is there some Marshalling attribute, or some type of Reflection call that can be made/returned from the Common class, so as
to not have to have all my other projects reference an abundance of .dll
files? TIA -John
John E. <PleaseReply@usenet> wrote: Thanks for the reply.
It won't let me access any methods within MyLog4Net (i.e. the Warn("") part), unless each of my projects not only references my Common project, but also the log4net project.
Does this happen even if your MyLog4Net class doesn't have *any* public
(or protected) members which depend on Log4Net? If the calling code
doesn't (and can't) know of the dependency on Log4Net, I would expect
it to be okay.
--
Jon Skeet - <sk***@pobox.com> http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Gerhard Pretorius |
last post by:
ON Win 2003 IIS6,
Since yesterday, (12 Aug 2003) for some strange reason, (after installing
WindowsServer2003-KB823980-x86-ENU.exe)
I cannot pass the
Request object to to VB COM DLL.
I have...
|
by: Aaron |
last post by:
I have a data sructure setup and I populate it in a loop like so:
y=0
while X:
DS.name = "ASDF"
DS.ID = 1234
list = DS;
y = y + 1
|
by: Peter Bär |
last post by:
A Question to the C#/.Net Gods of this forum:
are there performance penalties when i compile (C#, FW1.1, ASP.NET,
Studio2003) a central baseclass in a different assembly than all the
derived...
|
by: Sidorf |
last post by:
Hi
It's a little hard for me to explain my problem, but i'll try. I have
an application in which i have a ManagerClass, many ClientClass-es ans
some ControlClass.
The ManagerClass creates one...
|
by: Peter Bär |
last post by:
A Question to the C#/.Net Gods of this forum:
are there performance penalties when i compile (C#, FW1.1, ASP.NET,
Studio2003) a central baseclass in a different assembly than all the
derived...
|
by: Sean Dockery |
last post by:
I have the following HTML file that I've been using for testing...
<html>
<head>
<script type="text/javascript">
<!--
function handleWindowLoad() {
var items = ;
for (var i = 0; i < 11; i++)...
|
by: David++ |
last post by:
Hi folks,
I would be interested to hear peoples views on whether or not 'pass by
reference' is allowed when using a Web Service method.
The thing that troubles me about pass-by-reference into...
|
by: Abhi |
last post by:
I wrote a function foo(int arr) and its prototype
is declared as foo(int arr); I modify the values of the array in the
function and the values are getting modified in the main array which
is...
|
by: raylopez99 |
last post by:
Keywords: scope resolution, passing classes between parent and child
forms, parameter constructor method, normal constructor, default
constructor, forward reference, sharing classes between forms....
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
| |