Click here to Skip to main content
15,894,180 members
Home / Discussions / C#
   

C#

 
GeneralRedirected StandardOutput and StandardError hanging Pin
Anonymous9-Feb-04 10:18
Anonymous9-Feb-04 10:18 
GeneralStarting a process on a remote machine with WMI Pin
Paul L C9-Feb-04 9:48
Paul L C9-Feb-04 9:48 
GeneralRe: Starting a process on a remote machine with WMI Pin
scadaguy9-Feb-04 10:49
scadaguy9-Feb-04 10:49 
GeneralLinklabel Pin
c5328699-Feb-04 7:47
c5328699-Feb-04 7:47 
GeneralRe: Linklabel Pin
Mike Ellison9-Feb-04 8:19
Mike Ellison9-Feb-04 8:19 
GeneralRe: Linklabel Pin
Charlie Williams9-Feb-04 9:08
Charlie Williams9-Feb-04 9:08 
GeneralRe: Linklabel Pin
Charlie Williams9-Feb-04 9:03
Charlie Williams9-Feb-04 9:03 
GeneralRe: Linklabel Pin
Anonymous9-Feb-04 14:41
Anonymous9-Feb-04 14:41 
QuestionHow can I detect when a client disconnects from a well known service? Pin
Marc Clifton9-Feb-04 6:13
mvaMarc Clifton9-Feb-04 6:13 
AnswerRe: How can I detect when a client disconnects from a well known service? Pin
LongRange.Shooter9-Feb-04 8:17
LongRange.Shooter9-Feb-04 8:17 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Marc Clifton9-Feb-04 8:21
mvaMarc Clifton9-Feb-04 8:21 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
LongRange.Shooter9-Feb-04 8:26
LongRange.Shooter9-Feb-04 8:26 
AnswerRe: How can I detect when a client disconnects from a well known service? Pin
Tom Larsen9-Feb-04 10:30
Tom Larsen9-Feb-04 10:30 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Marc Clifton9-Feb-04 10:58
mvaMarc Clifton9-Feb-04 10:58 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Tom Larsen9-Feb-04 11:37
Tom Larsen9-Feb-04 11:37 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Marc Clifton9-Feb-04 13:30
mvaMarc Clifton9-Feb-04 13:30 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Tom Larsen10-Feb-04 7:04
Tom Larsen10-Feb-04 7:04 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
LongRange.Shooter10-Feb-04 9:08
LongRange.Shooter10-Feb-04 9:08 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
Tom Larsen11-Feb-04 3:53
Tom Larsen11-Feb-04 3:53 
GeneralRe: How can I detect when a client disconnects from a well known service? Pin
HAHAHA_NEXT9-Feb-04 11:01
HAHAHA_NEXT9-Feb-04 11:01 
QuestionHow to get/set printer paper media type Pin
trythat9-Feb-04 5:55
trythat9-Feb-04 5:55 
QuestionDynamic attributes for propertyGrid??? Pin
LongRange.Shooter9-Feb-04 3:11
LongRange.Shooter9-Feb-04 3:11 
AnswerRe: Dynamic attributes for propertyGrid??? Pin
Heath Stewart9-Feb-04 4:17
protectorHeath Stewart9-Feb-04 4:17 
GeneralRe: Dynamic attributes for propertyGrid??? Pin
LongRange.Shooter9-Feb-04 8:09
LongRange.Shooter9-Feb-04 8:09 
I'm lost. I searched everywhere and could find no articles on ICustomTypeDescriptor. I tried deploying my own TypeDescriptor but I'm getting lost in all of the methods I have to create and not really understanding when the attribute methods and property methods apply to my TypeConverter and when they apply to the property I am a part of.

My attempt, in general, is this:
C#
public class Secure : ICustomTypeDescriptor
{
     private bool isSecure;

     public Secure(bool state)
     {
         isSecure = state;
     }

     .. now I'm lost trying to deploy everything
}

I also cannot find PropertyDescriptor.ReadOnly or when I should use it or add it or whatever. I found an abstract conversation on one site and this is similar to what they showed. My attempt:

namespace myCompany.Attributes
{

	internal class Secured  : ICustomTypeDescriptor 
	{
		private bool secured;
		private bool readonlyState;


		/// <summary>
		/// Create an attribute Secured(true/false)
		/// </summary>
		/// <param name="state"></param>
		public Secured(bool state) 
		{
			secured = state;
		}


		/// <summary>
		/// Returns attribute ReadOnly(true) if user is not in any security group.
		/// Returns attribute ReadOnly(true) if Secured(true) and user is editor.
		/// Always returns attribute ReadOnly(false) if user is developer.
		/// </summary>
		/// <returns></returns>
		System.ComponentModel.PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(System.Attribute[]
			attributes)
		{


			PropertyInfo[] propInfos =
				this.classType.GetProperties(BindingFlags.Public | BindingFlags.Static);

			ArrayList props = new ArrayList(propInfos.Length);

			foreach(PropertyInfo propInfo in propInfos)
			{
				props.Add( new ReflectPropertyDescriptor(propInfo) );
			}
			if (CheckReadOnlyState())
				props.Add(new ReflectProperty(???));
			return new PropertyDescriptorCollection(
				(PropertyDescriptor[])props.ToArray(typeof(PropertyDescriptor)) );

		}
		System.ComponentModel.PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties()
		{
			ArrayList props = new ArrayList();
			if (CheckReadOnlyState())
				props.Add(new ReflectPropertyDescriptor(PropertyDescriptor.ReadOnly));
                        return new PropertyDescriptorCollection((PropertyDescriptor[])props.ToArray(typeof(PropertyDescriptor)));
		}
			

		TypeConverter ICustomTypeDescriptor.GetConverter()
		{
			return TypeDescriptor.GetConverter(this, true);
		}

		AttributeCollection ICustomTypeDescriptor.GetAttributes()
		{
			return TypeDescriptor.GetAttributes(this.secured, true);
		}


		/// <summary>
		/// Tell PropertyGrid that GetProperties is supported.
		/// </summary>
		/// <param name="context"></param>
		/// <returns></returns>
		public  bool GetPropertiesSupported(ITypeDescriptorContext context) 
		{
			return true;
		}
		object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd)
		{

		}
	}

        public class bool CheckReadOnlyState()
        {
            readonlyState = true;
	    SecurityManager sec = new SecurityManager();

	    if (sec.CheckUserGroup("D-U-TCAEDIT") && !this.secured)
	    {
		readonlyState = false;
	    }
	    if (sec.CheckUserGroup("D-U-TCA"))
	    {
		readonlyState = false;
	    }
            return readonlyState;
        }
	public class PropertyDescriptor ReflectPropertyDescriptor : PropertyDescriptor
	{
		private PropertyInfo propInfo;

		public ReflectPropertyDescriptor(PropertyInfo propInfo) :
			base(propInfo.Name, null)
		{
			this.propInfo = propInfo;
		}
	}


I'm just not understanding what this is doing and how I define the ReadOnly(true/false) attribute.

_____________________________________________
Of all the senses I could possibly lose,
It is most often the one called 'common' that gets lost.

GeneralRe: Dynamic attributes for propertyGrid??? Pin
Heath Stewart9-Feb-04 9:33
protectorHeath Stewart9-Feb-04 9:33 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.