Я не очень хорошо разбираюсь в свойствах. строка кода: method2 (x.str1, x.str2, x.str3, x.str4); --- выбрасывает мне ссылку на объект, не установленную на экземпляр ошибки объекта ". Любые мысли оценили. x.str1 не разрешает?Инициализация класса с использованием свойства в C# -
(я добавляю код и добавить больше функциональности существующих установить. Я бы инициализировать класс MyProperty с помощью методов и свойств.)
использованием otherC#
class Test{
private myProperty x;
private string str1, str2, str3, str4;
private myProperty A
{
get { return x; }
set
{
str1 = value.str1;
str2 = value.str2;
str3 = value.str3;
str4 = value.str4;
}
}
public void myMethod()
{
Test tst = new Test();
myProperty x = new myProperty();
//Assigning property varaibles:
x.str1 = "this";
x.str2 = "is";
x.str3 = "my";
x.str4 = "test";
try
{
tst.method2(x.str1, x.str2, x.str3, x.str4);
}
catch(Exception)
{
throw;
}
}
public void method2(string str1, string str2,string str3, string str4)
{
}
}
OtherC#.cs contains the definition for myProerty class
namespace temp
{
public class xyx {some code;}
public interface abc {some code};
public class myProperty {
public string str1 { get; set; }
public string str2 { get; set; }
public string str3 { get; set; }
public string str4 { get; set; }
}
}
+1, OP это похоже, что вы пришли из C++, где объекты создаются автоматически, когда вы объявляете их так. Перед использованием вам нужно создать новый экземпляр, например 'x = new myProperty()'. – Tejs
@Tejes Вы также должны явно создавать объекты на C++. Я не использовал C++ годами, но трудно себе представить, что это изменилось ... если я не проскользнул через какую-то червячную дыру в альтернативную вселенную. –