473,396 Members | 1,891 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Object Reference to MyBase

When a class (myownclass) inheirits another class, how can I get an object
reference to the underlyng MyBase class instance from within myownclass. The
base class has a method that I want to utilize in myownclass but the method
is private and can't be inheirited. I need to utilize that base class
method.

--
Dennis in Houston
Nov 21 '05 #1
9 2077
Can you make the base class method protected? That way only the derived
classes can access the method - in a way its 'private' to the base class and
all classes that derive from it. Then you can simply call
MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since
the derived class inherits this method.

Apart from that, AFAIK, there's no direct way to access the private methods
of the base class. You would have to resort to using Reflection to access
the method.

hope that helps..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
When a class (myownclass) inheirits another class, how can I get an object
reference to the underlyng MyBase class instance from within myownclass.
The
base class has a method that I want to utilize in myownclass but the
method
is private and can't be inheirited. I need to utilize that base class
method.

--
Dennis in Houston

Nov 21 '05 #2
The base class I am inheriting is a VB.Net control and I have no control over
the scope of it's methods. Do you have any idea how I can use reflection to
get at the method of the base class? It's not an exposed method that you can
call using MyBase.baseclassmethod.

"Imran Koradia" wrote:
Can you make the base class method protected? That way only the derived
classes can access the method - in a way its 'private' to the base class and
all classes that derive from it. Then you can simply call
MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since
the derived class inherits this method.

Apart from that, AFAIK, there's no direct way to access the private methods
of the base class. You would have to resort to using Reflection to access
the method.

hope that helps..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
When a class (myownclass) inheirits another class, how can I get an object
reference to the underlyng MyBase class instance from within myownclass.
The
base class has a method that I want to utilize in myownclass but the
method
is private and can't be inheirited. I need to utilize that base class
method.

--
Dennis in Houston


Nov 21 '05 #3
Dennis,

Note that although the MyBase keyword is used to reference the base class,
the instance being used is the current instance of the class - meaning the
derived class instance.
http://msdn.microsoft.com/library/de...akeymybase.asp

MyBase does not refer to an instance of the base class - it refers to the
derived class instance but in the context of the base class so that you can
access the base class methods/properties/etc (only protected, friend and
public). So if you need a reference to an instance of the base class, you'll
have to create one yourself. Since you know the class you're deriving from
at compile time itself, you can create an instance directly just as you
would for any other type at compile time and then invoke the private method
using Reflection:

Dim baseobject As New mybaseclass
baseobject.GetType.InvokeMember("privatesub", _
Reflection.BindingFlags.Instance Or _
Reflection.BindingFlags.NonPublic Or _
Reflection.BindingFlags.InvokeMethod, _
Nothing, baseobject, New Object() {})

However, you would have to consider the state of the object when trying to
invoke the private method of the base class. The executing of the private
method within the base class object would be occurring when the object has
reached a particular state. This wouldn't be the case for you when you just
create the instance and invoke the private method directly. The base class
object might not be in the right state and the execution of the private
method might not give you the right results or results that you are
expecting. But if you know that this isn't going to be an issue, then you
should be fine. Just wanted to point out the repercussions of directly
invoking a private method.

hope that helps...
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
The base class I am inheriting is a VB.Net control and I have no control over the scope of it's methods. Do you have any idea how I can use reflection to get at the method of the base class? It's not an exposed method that you can call using MyBase.baseclassmethod.

"Imran Koradia" wrote:
Can you make the base class method protected? That way only the derived
classes can access the method - in a way its 'private' to the base class and all classes that derive from it. Then you can simply call
MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since the derived class inherits this method.

Apart from that, AFAIK, there's no direct way to access the private methods of the base class. You would have to resort to using Reflection to access the method.

hope that helps..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
When a class (myownclass) inheirits another class, how can I get an object reference to the underlyng MyBase class instance from within myownclass. The
base class has a method that I want to utilize in myownclass but the
method
is private and can't be inheirited. I need to utilize that base class method.

--
Dennis in Houston


Nov 21 '05 #4
Dennis,

I don't think my previous comment would have answered your question
completely. As I mentioned, the MyBase keyword refers to the current
instance of the derived class. As far as private methods (or properties,
etc) go, when a class derives from a base class, the private methods are not
inherited and so there is nothing like accessing the private methods of the
base class! When you look at a derived class, there's just one class - the
derived class - that has its own members and members inherited from the base
class. Since private members are not inherited, the derived class simply
doesn't have them and is completely unaware of them. So there's no question
about executing a private method of the base class in the context of the
derived class since that doesn't make sense at all, IMO.

I hope that clears things up a bit..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
The base class I am inheriting is a VB.Net control and I have no control over the scope of it's methods. Do you have any idea how I can use reflection to get at the method of the base class? It's not an exposed method that you can call using MyBase.baseclassmethod.

"Imran Koradia" wrote:
Can you make the base class method protected? That way only the derived
classes can access the method - in a way its 'private' to the base class and all classes that derive from it. Then you can simply call
MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since the derived class inherits this method.

Apart from that, AFAIK, there's no direct way to access the private methods of the base class. You would have to resort to using Reflection to access the method.

hope that helps..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
When a class (myownclass) inheirits another class, how can I get an object reference to the underlyng MyBase class instance from within myownclass. The
base class has a method that I want to utilize in myownclass but the
method
is private and can't be inheirited. I need to utilize that base class method.

--
Dennis in Houston


Nov 21 '05 #5
Imran, thank you very much for your time in answering my question. What I'm
trying to do is set the rowheights in class that inheirits the datagrid
control. The following works for the Datagrid class but doesn't work for
inheirited classes where dg is datagrid object (or my class that inheirits
the datagrid class). The "get_DataGridRows" is a private method, I'm told,
in the DataGrid control.

Dim mi As MethodInfo = dg.GetType().GetMethod("get_DataGridRows", _
BindingFlags.FlattenHierarchy Or BindingFlags.IgnoreCase Or _
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or _
BindingFlags.Static)

Dim dgra As System.Array = CType(mi.Invoke(Me.dg, Nothing), System.Array)

I understand what you are saying about the private methods of the class
that's being inheirited not accessable but there must be some way to get at
the rowobject collection of the datagrid base class. I'll play around with
your reflection example some and see what I can do. Thanks again.

"Imran Koradia" wrote:
Dennis,

I don't think my previous comment would have answered your question
completely. As I mentioned, the MyBase keyword refers to the current
instance of the derived class. As far as private methods (or properties,
etc) go, when a class derives from a base class, the private methods are not
inherited and so there is nothing like accessing the private methods of the
base class! When you look at a derived class, there's just one class - the
derived class - that has its own members and members inherited from the base
class. Since private members are not inherited, the derived class simply
doesn't have them and is completely unaware of them. So there's no question
about executing a private method of the base class in the context of the
derived class since that doesn't make sense at all, IMO.

I hope that clears things up a bit..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
The base class I am inheriting is a VB.Net control and I have no control

over
the scope of it's methods. Do you have any idea how I can use reflection

to
get at the method of the base class? It's not an exposed method that you

can
call using MyBase.baseclassmethod.

"Imran Koradia" wrote:
Can you make the base class method protected? That way only the derived
classes can access the method - in a way its 'private' to the base class and all classes that derive from it. Then you can simply call
MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since the derived class inherits this method.

Apart from that, AFAIK, there's no direct way to access the private methods of the base class. You would have to resort to using Reflection to access the method.

hope that helps..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:C8**********************************@microsof t.com...
> When a class (myownclass) inheirits another class, how can I get an object > reference to the underlyng MyBase class instance from within myownclass. > The
> base class has a method that I want to utilize in myownclass but the
> method
> is private and can't be inheirited. I need to utilize that base class > method.
>
> --
> Dennis in Houston


Nov 21 '05 #6
Dennis,

I think this should solve your problem:

http://groups.google.com/groups?selm...tngp13.phx.gbl

Basically, instead of doing dg.GetType().GetMethod, you should do
dg.GetType().BaseType().GetMethod which should give you the private method
you are looking for - atleast according to the message in the link above.

hope that helps..
Imran.
"Dennis" <De****@discussions.microsoft.com> wrote in message
news:AD**********************************@microsof t.com...
Imran, thank you very much for your time in answering my question. What I'm trying to do is set the rowheights in class that inheirits the datagrid
control. The following works for the Datagrid class but doesn't work for
inheirited classes where dg is datagrid object (or my class that inheirits
the datagrid class). The "get_DataGridRows" is a private method, I'm told, in the DataGrid control.

Dim mi As MethodInfo = dg.GetType().GetMethod("get_DataGridRows", _
BindingFlags.FlattenHierarchy Or BindingFlags.IgnoreCase Or _
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or _ BindingFlags.Static)

Dim dgra As System.Array = CType(mi.Invoke(Me.dg, Nothing), System.Array)

I understand what you are saying about the private methods of the class
that's being inheirited not accessable but there must be some way to get at the rowobject collection of the datagrid base class. I'll play around with your reflection example some and see what I can do. Thanks again.

"Imran Koradia" wrote:
Dennis,

I don't think my previous comment would have answered your question
completely. As I mentioned, the MyBase keyword refers to the current
instance of the derived class. As far as private methods (or properties,
etc) go, when a class derives from a base class, the private methods are not inherited and so there is nothing like accessing the private methods of the base class! When you look at a derived class, there's just one class - the derived class - that has its own members and members inherited from the base class. Since private members are not inherited, the derived class simply
doesn't have them and is completely unaware of them. So there's no question about executing a private method of the base class in the context of the
derived class since that doesn't make sense at all, IMO.

I hope that clears things up a bit..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
The base class I am inheriting is a VB.Net control and I have no control
over
the scope of it's methods. Do you have any idea how I can use
reflection to
get at the method of the base class? It's not an exposed method that
you can
call using MyBase.baseclassmethod.

"Imran Koradia" wrote:

> Can you make the base class method protected? That way only the
derived > classes can access the method - in a way its 'private' to the base class and
> all classes that derive from it. Then you can simply call
> MyBase.BaseClassMethod or infact you can also call
Me.BaseClassMethod since
> the derived class inherits this method.
>
> Apart from that, AFAIK, there's no direct way to access the private

methods
> of the base class. You would have to resort to using Reflection to

access
> the method.
>
> hope that helps..
> Imran.
>
> "Dennis" <De****@discussions.microsoft.com> wrote in message
> news:C8**********************************@microsof t.com...
> > When a class (myownclass) inheirits another class, how can I get
an object
> > reference to the underlyng MyBase class instance from within

myownclass.
> > The
> > base class has a method that I want to utilize in myownclass but

the > > method
> > is private and can't be inheirited. I need to utilize that base

class
> > method.
> >
> > --
> > Dennis in Houston
>
>
>


Nov 21 '05 #7
That worked GREAT. Here's the code I ended up with. Note that it's set up
in my derived DataGrid Class called mydatagrid and update the RowObject array
of rows whenever the datasource changes or a row is changed with the mouse:

Public Class mydatagrid
Private RowObjects as Arraylist = new Arraylist

'Call this whenever datasource changes or row height changed by mouse
Private Function get_RowHeights() As ArrayList
Dim rows As ArrayList = New ArrayList
Dim a As Type = Me.GetType
Dim b As Type = a.BaseType
Dim mi As MethodInfo = b.GetMethod("get_DataGridRows",
BindingFlags.FlattenHierarchy Or BindingFlags.IgnoreCase Or
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or
BindingFlags.Static)
Dim dgra As System.Array = CType(mi.Invoke(Me, Nothing), System.Array)
Dim dgrr As Object
For Each dgrr In dgra
If dgrr.ToString().EndsWith("DataGridRelationshipRow" ) = True Then
rows.Add(dgrr)
End If
Next dgrr
Return rows
End Function 'get_RowHeights

'Use this Property to set or get rowheights
Public Property RowHeight(ByVal row As Integer) As Integer
Get
Try
Dim pi As PropertyInfo =
rowObjects(row).GetType().GetProperty("Height")
Return CInt(Fix(pi.GetValue(rowObjects(row), Nothing)))
Catch
Throw New ArgumentException("invalid row index")
End Try
End Get
Set(ByVal Value As Integer)
Try
Dim pi As PropertyInfo =
rowObjects(row).GetType().GetProperty("Height")
pi.SetValue(rowObjects(row), Value, Nothing)
Catch
Throw New ArgumentException("invalid row index")
End Try
End Set
End Property

Thanks a lot for helping me.
"Imran Koradia" wrote:
Dennis,

I think this should solve your problem:

http://groups.google.com/groups?selm...tngp13.phx.gbl

Basically, instead of doing dg.GetType().GetMethod, you should do
dg.GetType().BaseType().GetMethod which should give you the private method
you are looking for - atleast according to the message in the link above.

hope that helps..
Imran.
"Dennis" <De****@discussions.microsoft.com> wrote in message
news:AD**********************************@microsof t.com...
Imran, thank you very much for your time in answering my question. What

I'm
trying to do is set the rowheights in class that inheirits the datagrid
control. The following works for the Datagrid class but doesn't work for
inheirited classes where dg is datagrid object (or my class that inheirits
the datagrid class). The "get_DataGridRows" is a private method, I'm

told,
in the DataGrid control.

Dim mi As MethodInfo = dg.GetType().GetMethod("get_DataGridRows", _
BindingFlags.FlattenHierarchy Or BindingFlags.IgnoreCase Or _
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or

_
BindingFlags.Static)

Dim dgra As System.Array = CType(mi.Invoke(Me.dg, Nothing), System.Array)

I understand what you are saying about the private methods of the class
that's being inheirited not accessable but there must be some way to get

at
the rowobject collection of the datagrid base class. I'll play around

with
your reflection example some and see what I can do. Thanks again.

"Imran Koradia" wrote:
Dennis,

I don't think my previous comment would have answered your question
completely. As I mentioned, the MyBase keyword refers to the current
instance of the derived class. As far as private methods (or properties,
etc) go, when a class derives from a base class, the private methods are not inherited and so there is nothing like accessing the private methods of the base class! When you look at a derived class, there's just one class - the derived class - that has its own members and members inherited from the base class. Since private members are not inherited, the derived class simply
doesn't have them and is completely unaware of them. So there's no question about executing a private method of the base class in the context of the
derived class since that doesn't make sense at all, IMO.

I hope that clears things up a bit..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
> The base class I am inheriting is a VB.Net control and I have no control over
> the scope of it's methods. Do you have any idea how I can use reflection to
> get at the method of the base class? It's not an exposed method that you can
> call using MyBase.baseclassmethod.
>
> "Imran Koradia" wrote:
>
> > Can you make the base class method protected? That way only the derived > > classes can access the method - in a way its 'private' to the base class and
> > all classes that derive from it. Then you can simply call
> > MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since
> > the derived class inherits this method.
> >
> > Apart from that, AFAIK, there's no direct way to access the private
methods
> > of the base class. You would have to resort to using Reflection to
access
> > the method.
> >
> > hope that helps..
> > Imran.
> >
> > "Dennis" <De****@discussions.microsoft.com> wrote in message
> > news:C8**********************************@microsof t.com...
> > > When a class (myownclass) inheirits another class, how can I get an object
> > > reference to the underlyng MyBase class instance from within
myownclass.
> > > The
> > > base class has a method that I want to utilize in myownclass but the > > > method
> > > is private and can't be inheirited. I need to utilize that base
class
> > > method.
> > >
> > > --
> > > Dennis in Houston
> >
> >
> >


Nov 21 '05 #8
Imran, the code I posted that I said worked, works very well with derived
datagrid classes that are bound to ArrayLists. However, I've been testing it
with DataTables bound to a derived datagrid class and it doesn't work. Sorry
about the confusion.

"Imran Koradia" wrote:
Dennis,

I think this should solve your problem:

http://groups.google.com/groups?selm...tngp13.phx.gbl

Basically, instead of doing dg.GetType().GetMethod, you should do
dg.GetType().BaseType().GetMethod which should give you the private method
you are looking for - atleast according to the message in the link above.

hope that helps..
Imran.
"Dennis" <De****@discussions.microsoft.com> wrote in message
news:AD**********************************@microsof t.com...
Imran, thank you very much for your time in answering my question. What

I'm
trying to do is set the rowheights in class that inheirits the datagrid
control. The following works for the Datagrid class but doesn't work for
inheirited classes where dg is datagrid object (or my class that inheirits
the datagrid class). The "get_DataGridRows" is a private method, I'm

told,
in the DataGrid control.

Dim mi As MethodInfo = dg.GetType().GetMethod("get_DataGridRows", _
BindingFlags.FlattenHierarchy Or BindingFlags.IgnoreCase Or _
BindingFlags.Instance Or BindingFlags.NonPublic Or BindingFlags.Public Or

_
BindingFlags.Static)

Dim dgra As System.Array = CType(mi.Invoke(Me.dg, Nothing), System.Array)

I understand what you are saying about the private methods of the class
that's being inheirited not accessable but there must be some way to get

at
the rowobject collection of the datagrid base class. I'll play around

with
your reflection example some and see what I can do. Thanks again.

"Imran Koradia" wrote:
Dennis,

I don't think my previous comment would have answered your question
completely. As I mentioned, the MyBase keyword refers to the current
instance of the derived class. As far as private methods (or properties,
etc) go, when a class derives from a base class, the private methods are not inherited and so there is nothing like accessing the private methods of the base class! When you look at a derived class, there's just one class - the derived class - that has its own members and members inherited from the base class. Since private members are not inherited, the derived class simply
doesn't have them and is completely unaware of them. So there's no question about executing a private method of the base class in the context of the
derived class since that doesn't make sense at all, IMO.

I hope that clears things up a bit..
Imran.

"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2C**********************************@microsof t.com...
> The base class I am inheriting is a VB.Net control and I have no control over
> the scope of it's methods. Do you have any idea how I can use reflection to
> get at the method of the base class? It's not an exposed method that you can
> call using MyBase.baseclassmethod.
>
> "Imran Koradia" wrote:
>
> > Can you make the base class method protected? That way only the derived > > classes can access the method - in a way its 'private' to the base class and
> > all classes that derive from it. Then you can simply call
> > MyBase.BaseClassMethod or infact you can also call Me.BaseClassMethod since
> > the derived class inherits this method.
> >
> > Apart from that, AFAIK, there's no direct way to access the private
methods
> > of the base class. You would have to resort to using Reflection to
access
> > the method.
> >
> > hope that helps..
> > Imran.
> >
> > "Dennis" <De****@discussions.microsoft.com> wrote in message
> > news:C8**********************************@microsof t.com...
> > > When a class (myownclass) inheirits another class, how can I get an object
> > > reference to the underlyng MyBase class instance from within
myownclass.
> > > The
> > > base class has a method that I want to utilize in myownclass but the > > > method
> > > is private and can't be inheirited. I need to utilize that base
class
> > > method.
> > >
> > > --
> > > Dennis in Houston
> >
> >
> >


Nov 21 '05 #9
"Dennis" <De****@discussions.microsoft.com> wrote in message
news:2F**********************************@microsof t.com...
Imran, the code I posted that I said worked, works very well with derived
datagrid classes that are bound to ArrayLists. However, I've been testing
it
with DataTables bound to a derived datagrid class and it doesn't work.
Sorry
about the confusion.


hmmm...well...I wonder why that discrepancy. Sorry - I don't have enough
time to test it out but I hope you can work that out somehow. Good Luck !

Imran.
Nov 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: monkey king | last post by:
I have a given dll file(PDFCreator.dll) - probably generated by VC++. I want to use its method(PDFCreator()) in dotNet environment. It works well in WindiowsApplication, but bad in WebApplication...
0
by: muralidharan | last post by:
WebForm1.aspx Code: <%@ Register TagPrefix="ComponentArt" Namespace="ComponentArt.Web.UI" Assembly="ComponentArt.Web.UI" %> <ComponentArt:TreeView id="TreeView1" Height="520"...
3
by: Jason | last post by:
Hi prolly a simple solution...how do i make a "copy" of an existing object eg object obj1 = new object(); object obj2 = obj1; if i change a property in obj2, it also changes obj1, since...
2
by: Giovanni Bassi | last post by:
Hello All, I have encountered a problem. I am using visual inheritance and my base form adds an event handler on Form Load using the AddHandler Keyword. The problem is that if the Event...
2
by: Dave | last post by:
I'm having trouble understanding dispose. I set up a class that, among other things, displays the time in a status bar panel. It does this by starting a thread. I create an instance of this...
9
by: Remulac | last post by:
Hello, I'm trying to get the value out of a dropdown list box and assign it to a variable. When I click on the list box, I invoke this line of code. I get the error, "Object reference not set...
3
by: Adriano | last post by:
Hello, when I try to print something, either DataGrid or from Crystal Report viever the folowing error message appears and cancels printing: Object reference not set to an instance of an...
1
by: Don | last post by:
I'm getting the following exception displayed in the task list at design time for my project: "Code generation for property 'Controls' failed. Error was: 'Object reference not set to an...
4
by: livmacca | last post by:
Hi, I am new to VB .Net programming and is trying to create a webpage. I encountered the following error and is totally clueless on how to make it work: ...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
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...
0
marktang
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,...
0
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...
0
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...
0
agi2029
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 using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.