Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
856 views
in Technique[技术] by (71.8m points)

c# - How to check type parameter?

I have class

class ManagerCar : IBlalba
{
   public void Render(IViewTemplate template)
   {
   }
}

and I know what the parameter template is CarViewTemplate I want check type and throw exception if IViewTemplate != CarViewTemplate

I can do check if(template is typeof(CarViewTemplate)).

But I have many Managers.

I want check this type on compilation and with help attribute like [IsType(typeof(CarViewTemplate))]

Is it possible ?

UPDATE I have interface with Render(IViewTemplate template)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

This type of check already exists in the compiler, no need to try to help it.

Simply change your method signature to this:

public void RenderCar(CarViewTemplate template)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...