[解決済み] C#6の "Using static "機能はどのように使用するのですか?
質問
私は、いくつかの の新機能を見ています。 C# 6 の新機能、特に "static"を使用することです。 .
静的 は新しい種類のusing節で、型の静的メンバをスコープに直接インポートすることができます。
(ブログ記事の最下部)
私が見つけたいくつかのチュートリアルによると、考え方は次のとおりです。
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello world!");
Console.WriteLine("Another message");
}
}
繰り返しの
Console
ステートメントを省略することができます。
using System.Console;
// ^ `.Console` added.
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
} // ^ `Console.` removed.
}
しかし、これは私の場合、うまくいかないようです。私は
using
ステートメントで、次のようなエラーが発生します。
"ア'
using namespace
' ディレクティブは名前空間にのみ適用できます。Console
は型であり、名前空間ではありません。を考えてみましょう。using static
ディレクティブを考えてみてください。
Visual Studio 2015を使用しているのですが、ビルド言語のバージョンに "C# 6.0" に設定しています。
どうしたのでしょうか?msdn ブログの例は間違っているのでしょうか。なぜこれが機能しないのでしょうか?
ブログの記事は現在、最新の更新を反映して更新されていますが、ブログがダウンした場合に備えて、スクリーンショットを掲載します。
どのように解決するのですか?
これらのブログ記事が書かれたときから、構文が少し変わったようです。エラーメッセージにあるように
static
を include 文に追加してください。
using static System.Console;
// ^
class Program
{
static void Main()
{
WriteLine("Hello world!");
WriteLine("Another message");
}
}
そして、あなたのコードがコンパイルされます。
C# 6.0では、この方法は、以下のように宣言されたメンバーに対してのみ有効であることに注意してください。
static
.
例えば、次のように考えます。
System.Math
:
public static class Math {
public const double PI = 3.1415926535897931;
public static double Abs(double value);
// <more stuff>
}
いつ
using static System.Math
の場合、単に
Abs();
.
しかし、その場合でも、プレフィックスとして
PI
は静的メンバではないので
Math.PI;
.
C# バージョン 7.2 からは、このようなことはないはずです。
const
のような値は
PI
のような値も使用できます。
関連
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] usingディレクティブはネームスペースの内側と外側のどちらを使うべきですか?
-
[解決済み] 静的クラスとシングルトンパターンの違い?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] Static readonly」対「const」。
-
[解決済み] C言語における「static」の意味とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み] 2つのリストを結合する
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。