2010-05-20 4 views
1

Я хотел бы создать функцию, которая может принимать два аргумента объекта и типа, а затем вводить тип соответствующего типа с использованием параметра типа. Это возможно ? как я могу это достичь?Помогите мне с проблемой приведения типов

public class TEST 
{ 
    public int test; 
} 
object ot = new TEST(); 
Type type = typeof(TEST); 
TEST t = (type)ot; 

//Function will be something like this Type t is type we get using typeof() 
public string SearializeObject(Object obj, Type t) 
{ 
    //check if obj is of type t 
    if(obj is of type t){ 
    //cast obj to type t to read it 
    ((Type t)obj).someMethod 
} 
} 

ответ

6
public T cast<T>(object obj) 
{ 
    return (T)obj; 
} 

object ot = new TEST(); 
TEST t = cast<TEST>(ot); 
+0

@Anil Namde этот метод в данном примере называется 'Generic Methods', если вы хотите сделать для дальнейшего чтения. – Aren

1

Я хотел бы использовать шаблонный метод для этого:

public string SerializeObject<T>(object obj) 
{ 
    if(obj is T) 
    (obj as T).someMethod(); 
} 
Смежные вопросы