2016-09-19 2 views
0

C#에서 object 유형의 속성이 있고 객체의 유형을 알고있는 경우 속성의 기본 TypeConverter를 어떻게 표시 할 수 있습니까? 치 형 속성은 부울 경우, 어떻게 Value 속성에 부울에 대한 기본 TypeConverter를 표시 할 수 있습니다, 위의 코드에서특정 유형에 대해 TypeConverter를 어떻게 추가 할 수 있습니까?

private Type _valueType { get; set; } 
public Type ValueType 
{ 
    get 
    { 
     return _valueType; 
    } 
    set 
    { 
     _valueType = value; 
    } 
} 
private object _value { get; set; } 
public object Value 
{ 
    get 
    { 
     return _value; 
    } 
    set 
    { 
     _value = value; 
    } 
} 

: 여기

몇 가지 코드?

이것은 PropertyGrid 개체의 SelectedObject 용입니다.

답변

0

필요한 코드를 알아 냈습니다. 여기

그것이 :

public TypeConverter GetValueTypeConverter() 
{ 
    TypeConverter typeConverter = TypeDescriptor.GetConverter(_valueType); 
    return typeConverter; 
} 
0

나는 당신이 through the use of Generics 찾고있는 효과를 얻을 수 있습니다 직감이 있습니다

class GenericsExample<T>{ 

    private T _value { get; set; } 
    public T Value 
    { 
     get 
     { 
      return _value; 
     } 
     set 
     { 
      _value = value; 
     } 
    } 

} 

클래스의 인스턴스는 다음 (인스턴스 부울에 대한) 지정된 유형으로 만들 수 있습니다, 그리고 변수 어떤의 유형은 클래스에서 반환 할 수 있습니다

class Program 
{ 

    static void Main() 
    { 
     var genericsExample = new GenericsExample<bool>(); 
     genericsExample.Value = true; 
     Console.WriteLine("Value is " + genericsExample.Value); 
    } 
} 

당신이 어디에서 찾고있는 무슨 라인을 따라이 있습니까?

+0

https://msdn.microsoft.com/en-us/library/system.componentmodel.booleanconverter(v=vs.110).aspx –

+1

감사합니다. 나는 제네릭을 사용하지 않고 요구되는 것을하는 훨씬 더 간단한 방법을 발견했다. – user3736648

관련 문제