Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialEdward Hwang
Courses Plus Student 1,047 PointsHelp with Quiz Question 2 of 4 in C# Basics
Why isn't "Illustrator" the name of the namespace in "Adobe.Illustrator.Canvas.Paint()"?
2 Answers
Adam McGrade
26,333 PointsWorking from right to left, Paint() is the method that belongs to the Canvas class. The Canvas class belongs to the Adobe.Illustrator namespace.
The reason it is Adobe.Illustrator and not just Illustrator, is that there may be other projects that use the Illustrator namespace.
Sometimes you may wish to use a library or package in your project that uses the same namespace as a namespace that is currently in your project. For example you might also have a project with the namespace Illustrator, and you may want to use some classes in the Adobe.Illustrator namespace.
If both were called Illustrator, there would be conflicts as it would be unclear which namespace you were referring to.
In order to make sure that there are no conflicts between the code in the library and your own code, it is best practice to add something like the company name, before the namespace in your project to make it unique.
So you would call your namespace something like MyProject.Illustrator and then be able to use classes belonging to Adobe.Illustrator in your project without issues.
In this case Adobe was added before Illustrator so that it is clear that the classes in that namespace belong to Adobe.Illustrator.
Oğuzhan Emre Özdoğan
3,579 Pointsthere are 3 parts: namespace.class.method(). And note that only namespaces can have periods in them, so Adobe.Illustrator is the name of the namespace. I hope this helps!