|
I KNOW IT SHOULD BE USED TO DEPRIVE OF SOME INHERITING MY CLASSES.
BUT ONE CAN ACCESS THE MEMBER FUNCTIONS AND MEMBER VARIABLES BY INSTANTIATING THE CLASS.
Sonia Gupta
Soniagupta1@yahoo.co.in
Yahoo messengerId-soniagupta1
Love is Friendship and Friendship is Love....
|
|
|
|
|
Sure, you can access the members of a sealed class. sealed is not an access modifier like private, protected, public, internal, protected internal.
-^-^-^-^-^-
no risk no funk ................... please vote ------>
|
|
|
|
|
Please - no shouting. Your keyboard has both upper and lower case.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Yes. And your point was?
Sealed doesn't mean it can't be instantiated - that's what abstract means. It just means that it can't be inherited.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Hardly ever; it's rude. I very much dislike running up against sealed classes and having to find a less-elegant solution than inheritance.
|
|
|
|
|
PIEBALDconsult wrote: I very much dislike running up against sealed classes and having to find a less-elegant solution than inheritance.
I agree on this point, but there are also cases where sealed classes are useful. The most common use are for performance sensitive classes, utility helper classes (which can now use the static keyword, which also makes them sealed ), and value types (all enums are sealed ).
With the upcoming .NET 3.5 release, not being able to inherit a sealed class becomes less of an issue due to extension methods.
|
|
|
|
|
Hi,
Kindly help me that, How can I insert a character between any string value?
Example: string value is : ABC/DEF/GHI
after inserting..........: ABC-DEF-GHI
Thank you in advance
|
|
|
|
|
Use the Insert method of the string class.
However, in your example you replaced a character with another one. In this case use the Replace method.
|
|
|
|
|
use Replace function
for example : string str="ABC/DEF/GHI";
str=str.replace('/','-')
|
|
|
|
|
When my post build event runs I get this message
Error 1 The command "copy bin\Debug\plugin.dll C:\Program Files\SomeApp\Plugins" exited with code 1.
If i open an elevated commandline at the project folder I can execute the command perfectly well.
I'm running VS2005 as admin and i need to copy my plugin to the apps plugins folder inorder to run it. This isn't my app, it's an app I'm integrating with so I can't change the location of the plug-ins folder.
Any Ideas?
Thanks
Russell
|
|
|
|
|
Doesn't really have to do anything with C#, does it?
Anyway, you should start reading about UAC under Vista. You'll learn (among other things) that even running an application while logged in as admin won't give you the same access rights XP gave you.
You could try running VS with elevated rights or turn off UAC completely.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
i guess it's got very little to do with c#, it would probably be better in the Vista forum but i thought it was a problem that other c# developers might be running up against so i posted it here.
I am running the VS IDE as Administrator rather than running it when logged in as administrator. I've been fighting battles with UAC for a while now and I thought I had a handle on it but this seems really confusing, i'm not even 100% sure if it is an issue with UAC.
Russell
|
|
|
|
|
Experts,
I want to implement some COM interfaces in C#, and these interface will be called by a DLL written by ATL. The COM interface definations are :
__interface IDataRelation : IUnknown
{
...
HRESULT GetData(
[in] long Item,
[in] REFIID riid,
[out, iid_is(riid), retval] void **Data);
}
__interface IArray : IUnknown
{
...
}
__interface INumber : IArray
{
....
HRESULT GetUnits([out, retval] BSTR *Units);
}
__interface IDoubleNumber : INumber
{
...
}
The native code will call IDataRelation.GetData() to get the pointer of INumber to get the data unit.
I rewrite the interfaces in C#
[ComImport, Guid(XXX), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IArray {...}
[ComImport, Guid(XXX), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface INumber : IArray
{
...
[Return : MarshalAs(UnmanagedType.BSTR)]
string GetUnit();
}
[ComImport, Guid(XXX), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IDoubleNumber : INumber {...}
[ComImport, Guid(XXX), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IDataRelation
{
[Return : MarshalAs(UnmanagedType.Interface)]
object GetData(
[In, MarshalAs(UnmanagedType.I4)]
int Item,
[In, MarshalAs(UnmanagedType.Struct)]
ref Guid riid);
}
Then I construct two classes to implement these interfaces.
public class ArrayBase : IArray, INumber, IDoubleNumber
{
string INumber.GetUnit()
{
return m_Unit;
}
}
public class Data : ArrayBase, IDataRelatin
{
...
public object GetData(int Item, ref Guid riid);
{
return this;
}
}
Every thing seems fine, IDataRelation can be retrived in the C++ code.
CComQIPtr<idatarelation> pRelation = GetDataRelation(...); //Get data relation
if(pRelation != NULL)
{
CComQIPtr<inumber> testNumber;
pRelation->GetData(0, UUIDOF(INumber), reinterpret_cast<void**>( &testNumber ));
if(testNumber != NULL)
{
CComBSTR m_DataUnit;
testNumber->GetUnit(&m_DataUnit); //Error !!!
}
}
When I call GetUnit, a strange error occured, see the following detail :
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
The ATL DLL is used to display a chart. I use it in my C# project. The above interfaces are its
data source interface. I just want to implement these interfaces to supply my own data source for
it. My project is not a COM server and not COM visible.
The ATL DLL is written years ago, but only used by other C++ projects and have no problem, I can't change anything.
I haved searched for the above error solution, but got nothing.
Now, Any idea?
-- modified at 5:01 Thursday 6th September, 2007
c++ : my dream
|
|
|
|
|
Hy
Can anybody tell me how can I set the position of the keyboard (not mouse) cursor in a RichTextBox.
thanks
|
|
|
|
|
Hi!
A quick glance at the basic documentation of the RichTextBox will tell you that the SelectionStart and SelectionLength property or the Select() method will achieve this.
That's what documentation is there for...
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
Hi All,
Will anyone help in opening a View which is having its own Interface and Presenter. I want to open this view from base presenter in ModalWindow style. the code which i am having throws error "Object reference not set to an instance" in this line of code "WorkItem.Workspaces[WorkspaceNames.ModalWindows].Show(ObjMailLeft);". I need a sample application so that i can understand better..
Thanks in advance
Umashanker.K
|
|
|
|
|
Hi coder,
I am facing an problem with my application, which is using As access database as an back end.
when i am running the application after istalling to system it throws an exception of OLEDB 4.0 not registered on your local system
Please suggest me what to do.
If i need to istall the driver than plz if possible give me link for the same
Thanks in advance.
Hello Forum
Always be in touch to help about the topic ASP.NET
|
|
|
|
|
Googling this problem brought lots[^] of results. Why didn't you try it first?
With a couple of clicks I found this[^]. Seriously, if you want to become a professional problem you will have to learn how to solve problems like this yourself.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Hi thanks fo rthe reply.
I have alresdy googled lot but failed to resolve.
i also installed latest service pack for the OS but again facing prob.
Hello Forum
Always be in touch to help about the topic ASP.NET
|
|
|
|
|
Hi,
Why din't Microsoft include Multile inheritance in C#? This was asked to me by an interviewer, I couldn't answer this properly.
The guy said there was some reason why they din't include multiple inheritance, which he din't tell me.
Regards,
Blumen
|
|
|
|
|
Because designers of C# decided that advantages don't outweight disadvantages (e.g complexity).
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
Multiple inheritance is one of those really contentious issues with advocates on both sides arguing that they have the only right answer. Anyway - Anders Hejlberg decided against it (partly because .NET doesn't natively support MI - although Eifell.NET has included the ability to use MI), but his position does seem to be changing on this issue.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
Pete O`Hanlon wrote: partly because .NET doesn't natively support MI
Im sure I read recently that the framework does support MI, but the implementation of it raises its own quirks... so they left it out until they decide exactly how it should be implemented. The same article talked about mixins as a possible alternative. Personally I hate both MI and mixins.
Sorry I don't have a link to the article, I'll trawl through my history and see if I can find it.
|
|
|
|
|
thanks to all you guys, but what should i tell the interviewer?
Possible answers I got by posting this question:
1. Its complex if its implemented
2. More disadvantages than advantages
3. .NET doesnt natively support MI
4. implementing MI creates problems
If you were asking me this question in an interview, what answer would you expect Jamie?
Regards,
Blumen
|
|
|
|
|
If I was asking you this question in an interview i'd be an idiot. Not only is it totally irrelevant to day-to-day programming but it sounds as if this guy is either
a) A C++ evangelist who is trying to have a bash at c#'s "lack of MI"
b) An idiot who has heard a buzzword and is trying to look intelligent.
Try asking him why he thinks that MI is relevant to the job and watch him either give a tirade about how wonderful MI is (a) or splutters and changes the subject (b).
|
|
|
|