|
damn, is that really all one sentence ?
If the colour is unique to the rectangle, then scan for it. Otherwise, you'll need to do something funkier.
Read my image processing articles for how to iterate through a bitmaps bits in C#.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Can anyone help me simplify the code below, given that MyObject and OtherObject comes from a 3rd party COM component (some DLL from somewhere)?
<br />
public class BaseClass<br />
{<br />
public void GetPropsforMyObject(ref myObjHere, CommonStuff commstuffhere)<br />
{<br />
myObjHere.CommonProperty1 = commstuffhere.Prop1<br />
myObjHere.CommonProperty2 = commstuffhere.Prop2<br />
.<br />
.<br />
.<br />
myObjHere.CommonPropertyN = commstuffhere.PropN<br />
}<br />
<br />
public void GetPropsforOtherObject(ref OtherObjHere, CommonStuff commstuffhere)<br />
{<br />
OtherObjHere.CommonProperty1 = commstuffhere.Prop1<br />
OtherObjHere.CommonProperty2 = commstuffhere.Prop2<br />
.<br />
.<br />
.<br />
OtherObjHere.CommonPropertyN = commstuffhere.PropN<br />
}<br />
}<br />
<br />
public class Class1 : BaseClass<br />
{<br />
public void Class1(CommonStuff commstuff)<br />
{<br />
MyObject myobj = new MyObject();<br />
<br />
GetPropsforMyObject(ref myobj, commstuff);<br />
<br />
}<br />
}<br />
<br />
public class Class2 : BaseClass<br />
{<br />
public void Class2(CommonStuff commstuff)<br />
{<br />
OtherObject otherobj = new OtherObject();<br />
<br />
GetPropsforOtherObject(ref otherobj, commstuff);<br />
<br />
}<br />
}<br />
Note that GetPropsforMyObject and GetPropsforOtherObject does almost exactly the same thing, except that the object being passed values to is different.
Neither can I modify MyObject and OtherObject because they are 3rd-party COM objects.
Any help would be appreciated
|
|
|
|
|
I'd add a constructor to the base class with the common construction code, and change Class1 and Class2 constructors to call the base constructor, like this:
public Class1(CommonStuff commstuff)
: base(commstuff)
{
//...this class does another thing afterward
}
or something like this.
Yes, even I am blogging now!
|
|
|
|
|
This still doesn't work because I have to pass on different objects.
I'll rephrase the question somewhat...
How do I simplify:
<br />
MyMethod1(Object1 obj1)<br />
{<br />
...obj1 does something...<br />
}<br />
<br />
MyMethod2(Object2 obj2)<br />
{<br />
...obj2 does the same thing as obj1, it's just a different object...<br />
}<br />
to something like
<br />
MyMethod(Param param)<br />
{<br />
...method does its thing<br />
}<br />
Where param can accept both Object1 and Object2, even if Object1 and Object2 are both from external COM components.
|
|
|
|
|
How about assigning all the properties in a loop by indexing the props with something like FieldInfo[] myfinfo = myObjHere.GetType().GetFields() [or rather GetType().GetProperties()]?
I have about the same problem, cause i want to load all properties of my objects from a file (key=value) dynamically without millions of myobject.prop1 = file.prop1 lines.
|
|
|
|
|
hello,
I have programed a MultiThreaded TCP server using TcpListener, TcpClient and NetworkStream. What can be the best approach to check the active connections and close the inactive ones? I am looking for some way so that when client
closes the connection only then the connection closes, regardless if the comunication has taken place or not for a long time. Is there any way?
Zishan
|
|
|
|
|
|
Actually I have an array of TcpClient and equal number of Threads for each client at the server. I have another thread (connectionDestructorThread) that is checking all these clients. If any client disconnects, this connectionDestructorThread should get the notification and aborts that client's Thread and free up resources.
I don't see how SendTimeout and ReceiveTimeout can help in this senario.
regards,
Zishan
|
|
|
|
|
Yes I did it!!! Thanks for the help.
Best Regards,
Zishan
|
|
|
|
|
Hi, I am planning in developing local applications using the architecture C# with MySql. Can anyone help me with the things I have to keep in mind?
I am using VS.net 2002, one question that I cannot determine because I have done this type of solution yet. If I use MySql as my database, is it required that I setup a Mysql server on the client pc that I am gonna implement my system?? How is it packaged then?
I have only tried using access and a client pc need not to have access when I install my system in it.
Can someone please help me on this? I am sorry for such a newbie question. Just want to cutdown through details thats why I am asking for external help and maybe get other cool suggestions. Thank you very much.
I just have to know
|
|
|
|
|
aarontlu wrote:
Hi, I am planning in developing local applications using the architecture C# with MySql.
Not the easiest thing to deploy. Unless you really need to use MySql, consider using MSDE, which is a free version of MS SQL Server, and very easy to deploy.
Yes, even I am blogging now!
|
|
|
|
|
I want to write a quoted string to a text file. The problem is that the string is in a variable and I can't work out how to get quotes around the text when written to a file.
Any suggestions appreciated.
Thanks
Stephen
|
|
|
|
|
If i understand you correctly, you are trying to include the " inside a string. Just escape the quote like:
string s = "this \"is\" an example";
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
That is what I want to do but the string is in a variable read in from a datareader and i am having trouble adding the quotes to a string which contains some text.
eg
string stext = "The text";
string stext1 = @"\"" + stext + @""\";
This does not work because the variable name is written as part of the text and not what is contained in the variable.
Any additional help is appreciated.
Thanks
|
|
|
|
|
That's because you have a mistake and stext is never even used!
This will work however:
string stext = "The text";<br />
string stext1 = "\"" + stext + "\"";
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
Thanks Alex. That worked well.
Cheers
|
|
|
|
|
How do I get the current time? I couldn`t anything for it.
<italic>Work hard and a bit of luck is the key to success. You don`t need to be genius, to be rich.
|
|
|
|
|
DateTime.Now
More information here.[^]
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
Well i`ve look into DateTime. How could I miss it?
|
|
|
|
|
I change the icon using the properties window. The problem is that only shows in the upper-left part of the application window.
It does not show when I create a shot-cut to the desktop.
What am I missing? (C#)
Your help is greatly appreciated
|
|
|
|
|
Go to the project properties page and change the icon there.
This posting is provided "AS IS" with no warranties, and confers no rights.
Alex Korchemniy
|
|
|
|
|
Hi all,
After searching some text book and reference, I am not still certain
on how to use lock(this) in C# for sychronized access of the statements
inside the locked range. e.g.
lock (this)
{
statement1;
statement2;
}
why we need to put the "this" (refer to the object) after the lock keyword,
what will be the effect when putting other stuff instead of the "this" ?
Thanks
Patrick
|
|
|
|
|
Hi,
Generally the lock keywork in csharp is used to give the locking to any function.Suppose you are having one routine and the same routine is calling by two different object so if you are doing this things without lock your code may be unsafe but if you will use lock keywork if one object calls this method and upto finished up the method (or routine) another object can't be able to excess the same routine unless and untill first one completes the one.
and regarding answer of this keyword,that is use for saying that we are using current object not any other one.that's it.
regards,
montu3377
|
|
|
|
|
As the MSDN states: "The lock statement obtains the mutual-exclusion lock for a given object, executes a statement, and then releases the lock."
So the lock(this) statement obtains a mutual-exclusion lock for the current object of your class. If you use this statement in two or more methods of your class, these methods cannot be executed simultaneously by one object of your class.
But they can be simultaneously executed by multiple objects of your class as each obtains a mutual-exclusion for itself. This is no problem if you want to synchronize access to instance members. To synchronize access to class members you should use the following statement: lock (typeof(yourClass)) .
Finally back to the initial question: You can use any object in combination with the lock statement, but make sure it's always the same, cause otherwise the mutual exclusion won't work.
www.troschuetz.de
|
|
|
|
|
As a good practice, never use lock (this) or lock (typeof(Class)). As an example, if you use lock (this), and then someone uses lock (yourObject), you can add subtle deadlocks in your program.
Always declare a new, private object on your classes to lock on and you'll be safe.
Yes, even I am blogging now!
|
|
|
|