Browse Source

Add warning against direct cast & fix broken MD link

pull/988/head
Hsu Still 7 years ago
parent
commit
2ef5d8ce09
No known key found for this signature in database GPG Key ID: 8601A145FDA95209
1 changed files with 10 additions and 6 deletions
  1. +10
    -6
      docs/faq/basic-operations.md

+ 10
- 6
docs/faq/basic-operations.md View File

@@ -1,16 +1,18 @@
# Basic Operations Questions

## How should I safely check a type?

> [!WARNING]
> Direct casting (e.g. `(Type)type`) is **the least recommended**
> way of casting, as it *can* throw an [InvalidCastException]
> when the object isn't the desired type.
>
> Please refer to [this post] for more details.

In Discord.NET, the idea of polymorphism is used throughout. You may
need to cast the object as a certain type before you can perform any
action.

There are several ways to cast, with direct casting
`(Type)type` being **the least recommended**, as it *can* throw an
[InvalidCastException] when the object isn't the desired type.

Please refer to [this post] for more details.

A good and safe casting example:

[!code-csharp[Casting](samples/basics/cast.cs)]
@@ -83,6 +85,8 @@ reactions.
Unfortunately, not at the moment. See [#401](https://github.com/RogueException/Discord.Net/issues/401).

[IChannel]: xref:Discord.IChannel
[ICategoryChannel]: xref:Discord.ICategoryChannel
[IGuildChannel]: xref:Discord.IGuildChannel
[ITextChannel]: xref:Discord.ITextChannel
[IGuild]: xref:Discord.IGuild


Loading…
Cancel
Save