.net 7

열거형 명명 규칙 - 복수

열거형 명명 규칙 - 복수 비슷한 것을 읽었지만 정확히 제가 C# 열거형 및 속성 일치를 위한 명명 규칙에서 원하는 것이 아님에도 불구하고 저는 이 질문을 합니다. 저는 열거형을 복수형으로 명명한 다음 단수형으로 '사용'하는 경향이 있다는 것을 발견했습니다. 예: public enum EntityTypes { Type1, Type2 } public class SomeClass { /* some codes */ public EntityTypes EntityType {get; set;} } 물론 그것은 효과가 있고 이것이 제 스타일입니다. 하지만 누가 그런 관습에서 잠재적인 문제를 찾을 수 있을까요?"Status"라는 단어로 "못생긴" 이름을 지었습니다. public enum OrderStatuses { P..

programing 2023.05.27

외래 키 제약 조건을 도입하면 주기 또는 다중 캐스케이드 경로가 발생할 수 있습니다. 그 이유는 무엇입니까?

외래 키 제약 조건을 도입하면 주기 또는 다중 캐스케이드 경로가 발생할 수 있습니다. 그 이유는 무엇입니까? 저는 한동안 이것과 씨름하고 있었는데 무슨 일이 일어나고 있는지 잘 모르겠습니다.측면(일반적으로 2개)을 포함하는 카드 엔티티가 있으며 카드와 측면 모두 스테이지가 있습니다.EF Code를 사용하고 있는데 마이그레이션이 실패하고 다음 오류가 발생했습니다. 외국인 키 제약 조건 'FK_dbo'를 소개합니다.Sides_dbo.테이블 'Sides'의 Cards_CardId'는 주기 또는 다중 캐스케이드 경로를 발생시킬 수 있습니다.ON DELETE NO ACTION 또는 ON UPDATE NO ACTION을 지정하거나 다른 외래 키 제약 조건을 수정합니다. 다음은 내 카드 엔티티: public clas..

programing 2023.05.27

인터페이스에 정의된 C#4 옵션 매개 변수가 구현 클래스에 적용되지 않는 이유는 무엇입니까?

인터페이스에 정의된 C#4 옵션 매개 변수가 구현 클래스에 적용되지 않는 이유는 무엇입니까? C# 4의 선택적 매개 변수를 사용하여 인터페이스에 선택적 매개 변수를 지정할 경우 구현 클래스에서 해당 매개 변수를 선택적으로 설정할 필요가 없습니다. public interface MyInterface { void TestMethod(bool flag = false); } public class MyClass : MyInterface { public void TestMethod(bool flag) { Console.WriteLine(flag); } } 따라서 다음과 같습니다. var obj = new MyClass(); obj.TestMethod(); // compiler error var obj2 = new..

programing 2023.05.17

C#을 사용하여 REST API로 통화하려면 어떻게 해야 합니까?

C#을 사용하여 REST API로 통화하려면 어떻게 해야 합니까? 제가 지금까지 가지고 있는 코드는 다음과 같습니다. public class Class1 { private const string URL = "https://sub.domain.com/objects.json?api_key=123"; private const string DATA = @"{""object"":{""name"":""Name""}}"; static void Main(string[] args) { Class1.CreateObject(); } private static void CreateObject() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); reques..

programing 2023.05.17

스트림을 문자열로 변환하고 되돌리는 중

스트림을 문자열로 변환하고 되돌리는 중 개체를 문자열로 직렬화하고 뒤로 이동합니다. protof-net을 사용하여 객체를 스트림으로 변환하고 성공적으로 되돌립니다. 그러나 문자열로 스트림하고 다시...그다지 성공적이지 못합니다.을 거친 후StreamToString그리고.StringToStream신간의Streamprotof-net에 의해 역직렬화되지 않았습니다; 그것은 그것을 제기합니다.Arithmetic Operation resulted in an Overflow예외.원래 스트림을 역직렬화하면 작동합니다. 방법: public static string StreamToString(Stream stream) { stream.Position = 0; using (StreamReader reader = new S..

programing 2023.05.07

제가 언제 수업 대신 구조체를 사용해야 합니까?

제가 언제 수업 대신 구조체를 사용해야 합니까? MSDN은 가벼운 물체가 필요할 때 구조물을 사용해야 한다고 말합니다.클래스보다 구조가 더 좋을 때 다른 시나리오가 있습니까? 일부 사람들은 다음과 같은 사실을 잊어버렸을 수 있습니다. 구조체에는 메서드가 있을 수 있습니다. 구조체를 상속할 수 없습니다. 구조와 클래스 간의 기술적 차이를 이해합니다. 구조를 언제 사용해야 할지 잘 모르겠습니다.MSDN에는 다음과 같은 답이 있습니다.클래스와 구조 사이에서 선택합니다. 기본적으로, 그 페이지는 당신에게 4개 항목의 체크리스트를 제공하고 당신의 유형이 모든 기준을 충족하지 않으면 수업을 사용하라고 말합니다. 유형에 다음 특성이 모두 있는 경우가 아니면 구조를 정의하지 마십시오. 기본 유형(정수, 이중 등)과 유..

programing 2023.05.02

'사용' 지시어는 C#에서 네임스페이스 내부에 있어야 합니까 아니면 외부에 있어야 합니까?

'사용' 지시어는 C#에서 네임스페이스 내부에 있어야 합니까 아니면 외부에 있어야 합니까? 몇 가지 C# 코드에 대해 StyleCop을 실행했는데 계속해서 다음과 같이 보고됩니다.using디렉티브는 네임스페이스 안에 있어야 합니다. 기술적인 이유가 있습니까?using네임스페이스 외부 대신 내부에 있는 지시문?그 둘 사이에는 사실 미묘한 차이가 있습니다.File1.cs 에 다음 코드가 있다고 가정해 보십시오. // File1.cs using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } } 이제 누군가가 다음과 같은 다른 파일(File2.cs )을 프로젝트에 추가한다고 상상해 보십시오. // Fi..

programing 2023.05.02