|
Hi, I have a C# form with a webbrowser in it. I'm using the execScript method of the web browser to insert various javascript snippets during runtime. I'd like to know if there is an easy way to toggle these scripts on and off. Is there some sort of method inside the web browser that would just allow me to enable/disable execution of all running scripts? I've looked around and can't find any help on the topic, so any advice would be appreciated. Thanks.
|
|
|
|
|
[Flags]
public enum MyTest
{
test1 = 1,
test2 = 2,
test3 = 4
}
evar is the Enum type *** typeof(MyTest) ***
"test2" is one of the enumerated values in "MyTest"
<br />
Enum first = evar as Enum;<br />
<br />
object tt1 = Enum.Parse(t, "test2");<br />
object first2 = first & tt1;
I want to "And" the value out. To determine if it exists. But I will never know which enum I am using.
I noted the line that the problem exists. Does anyone know how I could do a bit operation an a value like that?
Thanks,
Nick
1 line of code equals many bugs. So don't write any!!
|
|
|
|
|
http://msdn2.microsoft.com/en-us/library/6e3t9w21.aspx[^]
The Flags attribute denotes a special kind of enumeration called a bit field. The runtime
itself does not distinguish between traditional enumerations and bit fields, but your language
might do so. When this distinction is made, bitwise operators can be used on bit fields, but
not on enumerations, to generate unnamed values. Enumerations are generally used for lists of
unique elements, such as days of the week, country or region names, and so on. Bit fields are
generally used for lists of qualities or quantities that might occur in combination, such as
Red And Big And Fast.
|
|
|
|
|
thanks. Even though that page didnt help any
Nick
1 line of code equals many bugs. So don't write any!!
-- modified at 12:58 Thursday 29th June, 2006
|
|
|
|
|
An enum is just an integer value, and nothing prevents you from doing bitwise operations on them.
|
|
|
|
|
Wow, i'm an idiot, sorry Nick.
|
|
|
|
|
LOL
1 line of code equals many bugs. So don't write any!!
|
|
|
|
|
I did this:
Type t = typeof(MyTest);
int first = (int)MyTest.test2;
int tt1 = (int)Enum.Parse(t, "test2");
MyTest first2 = (MyTest)(first & tt1);
Console.WriteLine(first2);
Logifusion[^]
|
|
|
|
|
yeah the only problem is that you know what myTest is. Where as I didnt.
I did this
<br />
public bool IsBitExist(object evar, object val)<br />
{<br />
<br />
<br />
Type enumType = evar.GetType();<br />
<br />
if (t.IsEnum)<br />
{<br />
if (IsFlagType(t.GetCustomAttributes(true)))<br />
{<br />
byte mainEnum = (byte)evar;
<br />
object parsedString = Enum.Parse(enumType, val as string);
object resultedEnum = mainEnum & (byte)parsedString;
int passedInValue = (byte)parsedString;
int checkValue = (int)resultedEnum;
return (passedInValue == checkValue ? true : false); <br />
}<br />
<br />
}<br />
return true;<br />
}<br />
thanks for helping. I got it too work this way
Nick
1 line of code equals many bugs. So don't write any!!
|
|
|
|
|
A simple example...
using System;
namespace EnumTests {
[Flags]
public enum Roles {
Guest = 1,
AccountManager = 2,
Admin = 4
}
public class Person {
public Roles Roles;
}
public class EnumTest {
static void Main(string[] args) {
Person p = new Person();
p.Roles = Roles.Guest | Roles.AccountManager;
if ((Roles.Admin & p.Roles) == 0) {
Console.WriteLine("Person p is not an admin. {0}", (int)(Roles.Admin & p.Roles));
} else {
Console.WriteLine("Person p is an admin. {0}", (int)(Roles.Admin & p.Roles));
}
Console.ReadLine();
}
}
}
Try code model generation tools at BoneSoft.com.
|
|
|
|
|
Uhh, what are you talking about.
I said abstract.
Anyone can make an enum and bitwise off of it.
Thanks, but I aleady solved my problem.
Nick
1 line of code equals many bugs. So don't write any!!
|
|
|
|
|
You said abstract in the title, and there is no such thing as an abstract enum. What the hell are you talking about?
Forget it.
Try code model generation tools at BoneSoft.com.
|
|
|
|
|
I'd like to extend the functionality of drawing.image However when attempting to inherit im told that drawing.image has no constructor defined. How do I go about extending this class? Thanks.
|
|
|
|
|
Image's constructor is internal, so you can't use it from outside of the System.Drawing.dll assembly. Is there a reason why you don't want to derive from the Bitmap class instead? Bitmap has public ctors.
Josh
|
|
|
|
|
You can't derive from Image since it's constructors are internal. You'll have to derive from one of its children, like Bitmap.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
How does it have childern if its constructors are internal?
Best,
Jun
|
|
|
|
|
It's weird. It's an abstract class (MustInherit for you VB'ers) that you can't inherit from. Yet, Bitmap and Metafile both inherit from it. I can't figure out how they did it. I copied the Bitmap class code method-for-method, property-for-property, using the lastest .NET Reflector and into my own implementation, and still couldn't get it to compile.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Bitmap and Metafile can inherit because they are in the same assembly.
|
|
|
|
|
I just remembered that, about 20 minutes after I posted that message. :->
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Ahh, Thanks much every one. I think bitmap can inherit from image because the image constructor is defined as a "friend" of bitmap in the assembly.
-- modified at 14:56 Thursday 29th June, 2006
|
|
|
|
|
Can we do the same so that we can derive from Image too?
Best,
Jun
|
|
|
|
|
I suppose so. If you could manipulate the image class assembly and name the new image class as a friend it should work. Here is an MSDN article on friend assemblies in c#. Your are effectively exposing the internals of the image class to an outside assembly or class. That is what is happening with the bitmap class.
http://msdn2.microsoft.com/en-us/library/0tke9fxk.aspx
|
|
|
|
|
Bitmap can inherit from Image because it resides inside the same assembly. The only way you're going to get a class of your own creation to inherit from Image is if it was also inside the same assembly (System.Drawing). The problem is, unless you rewrite everything in the System.Drawing assembly and create your own drop-in replacement, you CAN'T add to the assembly!
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hmm, well it seems i can do everything i need to do with the bitmap class. Thanks any way.
|
|
|
|
|
Hello!
I´m trying to use Directory.Delete(path) but VS2005 says it´s not empty?!
I want to delete it anyway =/
Thanks
-- modified at 11:25 Thursday 29th June, 2006
|
|
|
|