ここから本文です

C#に関する質問です。 以下のソースコードを実行するとcv1.prmは1を表示します。

ueg********さん

2017/10/521:20:43

C#に関する質問です。
以下のソースコードを実行するとcv1.prmは1を表示します。

(内側のCValクラス)
では、外側のCValクラスを参照したい場合(prm=2のほうです)はどうすればいいですか?


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");

CVal cv1 = new CVal();
Console.WriteLine("prm={0} ", cv1.prm);

}
class CVal
{
public int prm=1;
}
}
class CVal
{
public int prm=2;
}

}

閲覧数:
27
回答数:
1

違反報告

ベストアンサーに選ばれた回答

kak********さん

2017/10/521:37:13

// コード例
using System;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");

CVal cv1 = new CVal();
Console.WriteLine("prm={0} ", cv1.prm);
// こうやって参照できます
ConsoleApp1.CVal cv2 = new ConsoleApp1.CVal();
Console.WriteLine("prm={0} ", cv2.prm);
}
class CVal
{
public int prm = 1;
}
}
class CVal
{
public int prm = 2;
}

}

参照はできますが分かり難いコードになるので、クラス名は変えた方が良いと思いますよ。

  • 質問者

    ueg********さん

    2017/10/600:51:33

    「参照はできますが分かり難いコードになるので、クラス名は変えた方が良いと思いますよ。」

    回答ありがとうございます。もちろんこのようなコーディングは実際にはしないと思いますけど、少し気になったもので。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる